Sapforum.Biz

Инструменты => ABAP - Инструментальные средства => SE18/SE19 - BAdI-Builder => Тема начата: scv0scv от Сентябрь 07, 2015, 09:44:02 am

Название: Перенос BADI в другую точку расширения
Отправлено: scv0scv от Сентябрь 07, 2015, 09:44:02 am
Всем добрый день!

  Имеется собственная BADI ошибочно созданная в не той точке расширения. Можно ли быстро перенести ее в другую точку расширения вместе с реализацией?
Название: Re: Перенос BADI в другую точку расширения
Отправлено: Uukrul от Сентябрь 07, 2015, 04:21:31 pm
You are not allowed to view links. Register or Login
Имеется собственная BADI ошибочно созданная в не той точке расширения. Можно ли быстро перенести ее в другую точку расширения вместе с реализацией?
Не очень представляю как это может быть автоматически реализовано, тем более что если другая BADI, то могут быть различия по параметрам вызова. А что там руками перенести сложно?
Название: Re: Перенос BADI в другую точку расширения
Отправлено: scv0scv от Сентябрь 07, 2015, 05:17:51 pm
Какая такая другая BADI. Просто при создании BADI выбрал не тот ENСHANCEMENT(тот, что на экране SE18 задается). Надо перенести в другой ENСHANCEMENT. Делов то, а руками все можно и уже сделал, но все же любопытно, зачем обезьянью работу делать.
Название: Re: Перенос BADI в другую точку расширения
Отправлено: Uukrul от Сентябрь 08, 2015, 02:37:42 pm
You are not allowed to view links. Register or Login
Какая такая другая BADI. Просто при создании BADI выбрал не тот ENСHANCEMENT(тот, что на экране SE18 задается). Надо перенести в другой ENСHANCEMENT. Делов то, а руками все можно и уже сделал, но все же любопытно, зачем обезьянью работу делать.
Ага и отгрести потом на не совместимости или отсутствии локальных переменных, к которым вы обращаетесь, ну это если в общем виде решать задачу переноса. Кто вам сказал что эти расширения находятся в одном блоке кода с одинаковой видимостью переменных?
Название: Re: Перенос BADI в другую точку расширения
Отправлено: scv0scv от Сентябрь 08, 2015, 05:37:57 pm
Ну мое мнение было, что раз Enhancement   - это контейнер для хранения определения и реализация BADI, то должен быть механизм смены контейнера. А какие локальные переменные имеются ввиду. Вроде как есть интерфейс, есть класс реализующий интерфейс, не хватает только переприсвоения указателя(или как там его), что контейнер для BADI теперь называется так-то, а в том контейнере, где была предыдущая реализация связи порезать. Мы же вручную можем реализацию и описание удалить из контейнера, который точка Расширения.

p.s. Я могу ошибаться, недавно с BADI столкнулся. Вот и хочу разобраться, чего я не так понимаю.
Название: Re: Перенос BADI в другую точку расширения
Отправлено: Uukrul от Сентябрь 12, 2015, 01:46:24 pm
You are not allowed to view links. Register or Login
Ну мое мнение было, что раз Enhancement   - это контейнер для хранения определения и реализация BADI, то должен быть механизм смены контейнера.
Ну по моему мнению, то как это все работает,, это не контейнер, а технический механизм реализации BADI, который очень сильно зависит от места применения/использования, поэтому просто сменить одну энхансмент точку на другую, довольно сложно технически, так как переменные окружения вокруг этой точки будут другие и соответственно реализация класса реализующего механику BADI будет тоже другая.