Userexits (Пользовательские подпрограммы)
Продолжение цикла статей "Техники расширений стандартной системы SAP".
Все статьи цикла приведены внизу публикации.
Рассматриваемая техника пользовательских расширений, на мой взгляд, является сильно устаревшей, так как для этого типа расширения система требует получение ключа разработчика, на модуль находящийся в пространстве имен SAP при этом в этом модуле реализованы подпрограммы, в которые требуется добавить пользовательский код. Наименования подпрограмм и комментарии к заголовку подпрограмм, довольно прозрачно определяют их назначение, например:
*---------------------------------------------------------------------*
* FORM USEREXIT_DELETE_DOCUMENT *
*---------------------------------------------------------------------*
* This userexit can be used to delete data in additional tables *
* when a sales document is deleted. *
* *
* This form is called in dialog at the end of form BELEG_LOESCHEN*
* just before form BELEG_SICHERN is performed to delete the *
* datas on the database. *
* *
*---------------------------------------------------------------------*
form userexit_delete_document.
endform.
Так как такие подпрограммы выполняются в рамках контекста основной системной программы, то требуется очень аккуратно обрабатывать доступные глобальные переменные основной программы. Данная техника достаточно активно применяется в функциональности SD и части оперативной логистики – входящие/исходящие поставки, хотя в настоящий момент видно, что компания SAP, активно заменяет такие вызовы, на использование технологий BADI, например, в данном случае вышеописанная подпрограмма заменяется методом BADI_SD_SALES-DELETE_DOCUMENT – Replacement for User Exit DELETE_DOCUMENT. Таким образом, использование данной техники Userexits практически теряет смысл. Она оставлена как я понимаю, только из соображений обратной совместимости с уже работающими расширениями. Данный раздел будет самым коротким, так как особых нюансов в данной технике нет, к тому же я не рекомендую использовать ее в новых версиях систем.
В функциональности сбыта, данные расширения собраны в модулях, типа:
- MV45AFZZ – Обработка документов сбытовой заказ
- MV45AFZA – Условия в документе сбытового заказа
- MV45AFZB – Обработка позиции документа сбытового заказа
- И т.д.
Полный перечень этих расширений можно найти по ссылке (справочный центр по продуктам SAP):
http://help.sap.com/saphelp_46c/helpdata/en/1c/f62c7dd435d1118b3f0060b03ca329/frameset.htm
Расширения этого типа можно определить также из настройки системы, транзакция SPRO, в соответствующих разделах, например настройка функциональности SD, все расширения сгруппированы в отдельной ветке настройки, Рис.1 .
Рис. 1: use-03
Для использования любого из расширений вы должны получить ключ разработчика на соответствующий модуль, например, MV45AFZZ; для этого в транзакции SE38 переходим в режим редактирования. Если никто не модифицировал объект до вас, то появится окно с запросом ключа доступа для объекта, Рис.2.
Если хотите прочитать статью полностью и оставить свои комментарии присоединяйтесь к sapland
ЗарегистрироватьсяУ вас уже есть учетная запись?
Войти