Перенос BADI в другую точку расширения

Автор scv0scv, Вересень 07, 2015, 09:44:02 ДП

Попередня тема - Наступна тема

0 Користувачі і 1 Гість дивляться цю тему.

scv0scv

Всем добрый день!

  Имеется собственная BADI ошибочно созданная в не той точке расширения. Можно ли быстро перенести ее в другую точку расширения вместе с реализацией?

Uukrul

Цитата: scv0scv від Вересень 07, 2015, 09:44:02 ДП
Имеется собственная BADI ошибочно созданная в не той точке расширения. Можно ли быстро перенести ее в другую точку расширения вместе с реализацией?
Не очень представляю как это может быть автоматически реализовано, тем более что если другая BADI, то могут быть различия по параметрам вызова. А что там руками перенести сложно?

scv0scv

Какая такая другая BADI. Просто при создании BADI выбрал не тот ENСHANCEMENT(тот, что на экране SE18 задается). Надо перенести в другой ENСHANCEMENT. Делов то, а руками все можно и уже сделал, но все же любопытно, зачем обезьянью работу делать.

Uukrul

Цитата: scv0scv від Вересень 07, 2015, 05:17:51 ПП
Какая такая другая BADI. Просто при создании BADI выбрал не тот ENСHANCEMENT(тот, что на экране SE18 задается). Надо перенести в другой ENСHANCEMENT. Делов то, а руками все можно и уже сделал, но все же любопытно, зачем обезьянью работу делать.
Ага и отгрести потом на не совместимости или отсутствии локальных переменных, к которым вы обращаетесь, ну это если в общем виде решать задачу переноса. Кто вам сказал что эти расширения находятся в одном блоке кода с одинаковой видимостью переменных?

scv0scv

Ну мое мнение было, что раз Enhancement   - это контейнер для хранения определения и реализация BADI, то должен быть механизм смены контейнера. А какие локальные переменные имеются ввиду. Вроде как есть интерфейс, есть класс реализующий интерфейс, не хватает только переприсвоения указателя(или как там его), что контейнер для BADI теперь называется так-то, а в том контейнере, где была предыдущая реализация связи порезать. Мы же вручную можем реализацию и описание удалить из контейнера, который точка Расширения.

p.s. Я могу ошибаться, недавно с BADI столкнулся. Вот и хочу разобраться, чего я не так понимаю.

Uukrul

Цитата: scv0scv від Вересень 08, 2015, 05:37:57 ПП
Ну мое мнение было, что раз Enhancement   - это контейнер для хранения определения и реализация BADI, то должен быть механизм смены контейнера.
Ну по моему мнению, то как это все работает,, это не контейнер, а технический механизм реализации BADI, который очень сильно зависит от места применения/использования, поэтому просто сменить одну энхансмент точку на другую, довольно сложно технически, так как переменные окружения вокруг этой точки будут другие и соответственно реализация класса реализующего механику BADI будет тоже другая.

SMF spam blocked by CleanTalk