ABAP Расширение стандартного класса

Начинающие ABAPеры не всегда знают как правильно расширить класс и используют для этого неявные точки расширения. Однако, можно сделать немного по другому, что на мой взгляд, более соответствует концепции принятой в SAP.

Переходим в SE24, выбираем нужный нам класс и жмем "Расширить".

Далее, как обычно, придумываем имя нашему расширению и вводим его описание.

После этого мы увидим, что появилось несколько дополнительных возможностей:

Мы можем добавить свои методы и атрибуты, а также изменить или заменить реализацию стандартных.
PreExit - выполняется перед стандартным методом
PostExit - выполняется после стандартного метода
Overwrite-Exit - перезаписывает метод
Также можно добавить новый параметр в метод

Для реализации расширения метода мы выбираем нужный нам метод и переходим Обработка->Операции расширения->Добавить предварительный метод(например)

После этого увидим, что появилась кнопка, для редактирования нового метода



При таком расширении  существует проблема доступа к приватным атрибутам исходного класса.  В исходном классе можно сделать новый паблик метод для доступа к нужному атрибуту и обращаться через него.

Добавить комментарий

Ваш адрес email не будет опубликован.