diff --git a/src/ui/pages/zcl_abapgit_gui_page_debuginfo.clas.abap b/src/ui/pages/zcl_abapgit_gui_page_debuginfo.clas.abap index b320ba6a1..673d3a4af 100644 --- a/src/ui/pages/zcl_abapgit_gui_page_debuginfo.clas.abap +++ b/src/ui/pages/zcl_abapgit_gui_page_debuginfo.clas.abap @@ -62,6 +62,10 @@ CLASS zcl_abapgit_gui_page_debuginfo DEFINITION !iv_obj_name TYPE csequence RETURNING VALUE(rv_html) TYPE string . + METHODS resolve_exit_include + CHANGING + !cv_clsname TYPE seoclsname + !ct_source TYPE string_table. ENDCLASS. @@ -187,10 +191,16 @@ CLASS zcl_abapgit_gui_page_debuginfo IMPLEMENTATION. " Standalone version lt_source = zcl_abapgit_factory=>get_sap_report( )->read_report( c_exit_standalone ). IF sy-subrc = 0. + resolve_exit_include( + CHANGING + cv_clsname = ls_class_key-clsname + ct_source = lt_source ). ri_html->add( |
User exits are active (include { get_jump_object( iv_obj_type = 'PROG' iv_obj_name = c_exit_standalone ) } found)

| ). - ri_html->add( render_exit_info_methods( lt_source ) ). + ri_html->add( render_exit_info_methods( + it_source = lt_source + iv_clsname = to_upper( ls_class_key-clsname ) ) ). ELSE. ri_html->add( |
No user exits implemented (include { c_exit_standalone } not found)

| ). ENDIF. @@ -410,6 +420,32 @@ CLASS zcl_abapgit_gui_page_debuginfo IMPLEMENTATION. ENDMETHOD. + METHOD resolve_exit_include. + + DATA lv_include TYPE progname. + + cv_clsname = c_exit_class. + + DO. + FIND REGEX 'CLASS (.*) DEFINITION' IN TABLE ct_source SUBMATCHES cv_clsname IGNORING CASE. + IF sy-subrc = 0. + RETURN. + ENDIF. + FIND REGEX 'INCLUDE (.*)\.' IN TABLE ct_source SUBMATCHES lv_include IGNORING CASE. + IF sy-subrc = 0. + TRY. + ct_source = zcl_abapgit_factory=>get_sap_report( )->read_report( lv_include ). + CATCH zcx_abapgit_exception. + RETURN. " rely on original include + ENDTRY. + ELSE. + RETURN. + ENDIF. + ENDDO. + + ENDMETHOD. + + METHOD zif_abapgit_gui_event_handler~on_event. DATA: