Всем добрый день!
Имеется собственная BADI ошибочно созданная в не той точке расширения. Можно ли быстро перенести ее в другую точку расширения вместе с реализацией?
Цитата: scv0scv від Вересень 07, 2015, 09:44:02 ДП
Имеется собственная BADI ошибочно созданная в не той точке расширения. Можно ли быстро перенести ее в другую точку расширения вместе с реализацией?
Не очень представляю как это может быть автоматически реализовано, тем более что если другая BADI, то могут быть различия по параметрам вызова. А что там руками перенести сложно?
Какая такая другая BADI. Просто при создании BADI выбрал не тот ENСHANCEMENT(тот, что на экране SE18 задается). Надо перенести в другой ENСHANCEMENT. Делов то, а руками все можно и уже сделал, но все же любопытно, зачем обезьянью работу делать.
Цитата: scv0scv від Вересень 07, 2015, 05:17:51 ПП
Какая такая другая BADI. Просто при создании BADI выбрал не тот ENСHANCEMENT(тот, что на экране SE18 задается). Надо перенести в другой ENСHANCEMENT. Делов то, а руками все можно и уже сделал, но все же любопытно, зачем обезьянью работу делать.
Ага и отгрести потом на не совместимости или отсутствии локальных переменных, к которым вы обращаетесь, ну это если в общем виде решать задачу переноса. Кто вам сказал что эти расширения находятся в одном блоке кода с одинаковой видимостью переменных?
Ну мое мнение было, что раз Enhancement - это контейнер для хранения определения и реализация BADI, то должен быть механизм смены контейнера. А какие локальные переменные имеются ввиду. Вроде как есть интерфейс, есть класс реализующий интерфейс, не хватает только переприсвоения указателя(или как там его), что контейнер для BADI теперь называется так-то, а в том контейнере, где была предыдущая реализация связи порезать. Мы же вручную можем реализацию и описание удалить из контейнера, который точка Расширения.
p.s. Я могу ошибаться, недавно с BADI столкнулся. Вот и хочу разобраться, чего я не так понимаю.
Цитата: scv0scv від Вересень 08, 2015, 05:37:57 ПП
Ну мое мнение было, что раз Enhancement - это контейнер для хранения определения и реализация BADI, то должен быть механизм смены контейнера.
Ну по моему мнению, то как это все работает,, это не контейнер, а технический механизм реализации BADI, который очень сильно зависит от места применения/использования, поэтому просто сменить одну энхансмент точку на другую, довольно сложно технически, так как переменные окружения вокруг этой точки будут другие и соответственно реализация класса реализующего механику BADI будет тоже другая.