Важное дополнение:
На небольшом эксурсе по поводу ENHANCEMENT, был задан вопрос чем отличаются декларации статических энхансментов от динамических энхансментов, ну т.е. если в коде вы встречаете следующие объявления:
Динамический: enhancement-point lmr1mfa0_01 spots es_saplmr1m.
или:
Статический: enhancement-point lmr1mfa0_01 spots es_saplmr1m static.
Само собой данные объявления применяются только при явных энхансментах - Explicit Enhancement Options.
Разница между этими объявлениями заключается в следующем.
Примечание: Я говорил, что техника Enhancement создана в первую очередь для возможности реализации бизнес-функций, а не для нас, простых пользователей системы.
Так вот бизнес-функция может находиться в состоянии "активно" или "в ожидании" (деактивирована), просмотреть статусы бизнес функций можно в транзакции SFW5. Бизнес-функции представляют собой собственно говоря набор Enhancement-тов, т.е. точек расширений, который могут быть декларированы в коде существующих транзакций системы как статические или динамические. Так вот если Enhancement объявлен как статический, но сама бизнес-функция не активирована, вы можете создать реализацию такого энхансмента и система будет обрабатывать написанный вами код. Если же энхансмент объявлен как динамический и бизнес-фукнция не активирована, то выполнять реализацию кода в таком энхансменте бесполезно, так как вызваться ваш код не будет, пока вы не активируете соответствующую бизнес-функцию в которую включен данный энхансмент.
PS: Это важный момент, если вы используете технику явных энхнасментов.