Здравствуйте,
Извиняюсь за задержку с ответом.
Немного предистории - мне надо найти вызовы Badi для транзакции j3ralfinv19.
Badi я ищу по следующему алгоритму:
1) В SE24 ввожу CL_EXITHANDLER
2) Далее ставлю точку останова на строке 14: CALL METHOD cl_exithandler=>get_class_name_by_interface
3) После этого запускаю транзакцию - j3ralfinv19
4) Отладчик останавливается сразу на Badi (как я понимаю)
Вызов Badi:
Code:
METHOD get_instance.
CLASS cl_badi_flt_data_trans_and_db DEFINITION LOAD.
DATA: exit TYPE REF TO object,
type_ref TYPE REF TO cl_abap_typedescr,
class_name TYPE seoclsname,
abs_type_classname TYPE string,
def_impl TYPE seex_boolean VALUE seex_false,
mig_enhspotname TYPE enhspotname,
is_impl TYPE enhboolean,
mig_badi_name TYPE enhbadiid.
CALL METHOD cl_exithandler=>get_class_name_by_interface
EXPORTING
instance = instance
IMPORTING
class_name = class_name
CHANGING
exit_name = exit_name
EXCEPTIONS
no_reference = 1
no_interface_reference = 2
no_exit_interface = 3
data_incons_in_exit_managem = 4
class_not_implement_interface = 5
OTHERS = 6.
CASE sy-subrc.
Я нажимаю на exit_name - и так я узнаю имя Badi. А вот как понять - вызыватеся ли эта Badi?