Sapforum.Biz
Инструменты => ABAP - Инструментальные средства => SE18/SE19 - BAdI-Builder => Тема начата: scv0scv от Сентябрь 07, 2015, 09:44:02 am
-
Всем добрый день!
Имеется собственная BADI ошибочно созданная в не той точке расширения. Можно ли быстро перенести ее в другую точку расширения вместе с реализацией?
-
Имеется собственная BADI ошибочно созданная в не той точке расширения. Можно ли быстро перенести ее в другую точку расширения вместе с реализацией?
Не очень представляю как это может быть автоматически реализовано, тем более что если другая BADI, то могут быть различия по параметрам вызова. А что там руками перенести сложно?
-
Какая такая другая BADI. Просто при создании BADI выбрал не тот ENСHANCEMENT(тот, что на экране SE18 задается). Надо перенести в другой ENСHANCEMENT. Делов то, а руками все можно и уже сделал, но все же любопытно, зачем обезьянью работу делать.
-
Какая такая другая BADI. Просто при создании BADI выбрал не тот ENСHANCEMENT(тот, что на экране SE18 задается). Надо перенести в другой ENСHANCEMENT. Делов то, а руками все можно и уже сделал, но все же любопытно, зачем обезьянью работу делать.
Ага и отгрести потом на не совместимости или отсутствии локальных переменных, к которым вы обращаетесь, ну это если в общем виде решать задачу переноса. Кто вам сказал что эти расширения находятся в одном блоке кода с одинаковой видимостью переменных?
-
Ну мое мнение было, что раз Enhancement - это контейнер для хранения определения и реализация BADI, то должен быть механизм смены контейнера. А какие локальные переменные имеются ввиду. Вроде как есть интерфейс, есть класс реализующий интерфейс, не хватает только переприсвоения указателя(или как там его), что контейнер для BADI теперь называется так-то, а в том контейнере, где была предыдущая реализация связи порезать. Мы же вручную можем реализацию и описание удалить из контейнера, который точка Расширения.
p.s. Я могу ошибаться, недавно с BADI столкнулся. Вот и хочу разобраться, чего я не так понимаю.
-
Ну мое мнение было, что раз Enhancement - это контейнер для хранения определения и реализация BADI, то должен быть механизм смены контейнера.
Ну по моему мнению, то как это все работает,, это не контейнер, а технический механизм реализации BADI, который очень сильно зависит от места применения/использования, поэтому просто сменить одну энхансмент точку на другую, довольно сложно технически, так как переменные окружения вокруг этой точки будут другие и соответственно реализация класса реализующего механику BADI будет тоже другая.