*&---------------------------------------------------------------------* *& Include ZABAPGIT_PAGE_DEBUG *&---------------------------------------------------------------------* CLASS lcl_gui_page_debuginfo DEFINITION FINAL INHERITING FROM lcl_gui_page_super. PUBLIC SECTION. METHODS lif_gui_page~render REDEFINITION. PRIVATE SECTION. METHODS scripts RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper. METHODS render_debug_info RETURNING VALUE(ro_html) TYPE REF TO lcl_html_helper. METHODS render_supported_object_types RETURNING VALUE(rv_html) TYPE string. ENDCLASS. "lcl_gui_page_debuginfo CLASS lcl_gui_page_debuginfo IMPLEMENTATION. METHOD lif_gui_page~render. CREATE OBJECT ro_html. ro_html->add( header( ) ). ro_html->add( title( 'DEBUG INFO' ) ). ro_html->add( '
' ). ro_html->add( render_debug_info( ) ). ro_html->add( render_supported_object_types( ) ). ro_html->add( '
' ). ro_html->add( footer( io_include_script = scripts( ) ) ). ENDMETHOD. METHOD render_debug_info. DATA: lt_ver_tab TYPE filetable, lv_rc TYPE i, lv_gui_version TYPE string, ls_version LIKE LINE OF lt_ver_tab. cl_gui_frontend_services=>get_gui_version( CHANGING version_table = lt_ver_tab rc = lv_rc EXCEPTIONS OTHERS = 1 ). READ TABLE lt_ver_tab INTO ls_version INDEX 1. lv_gui_version = ls_version-filename. READ TABLE lt_ver_tab INTO ls_version INDEX 2. lv_gui_version = |{ lv_gui_version }.{ ls_version-filename }|. CREATE OBJECT ro_html. ro_html->add( |

abapGit version: { gc_abap_version }

| ). ro_html->add( |

XML version: { gc_xml_version }

| ). ro_html->add( |

GUI version: { lv_gui_version }

| ). ENDMETHOD. "render_debug_info METHOD render_supported_object_types. DATA: lt_objects TYPE STANDARD TABLE OF ko100, lv_list TYPE string, ls_item TYPE ty_item. FIELD-SYMBOLS LIKE LINE OF lt_objects. CALL FUNCTION 'TR_OBJECT_TABLE' TABLES wt_object_text = lt_objects EXCEPTIONS OTHERS = 1. LOOP AT lt_objects ASSIGNING WHERE pgmid = 'R3TR'. ls_item-obj_type = -object. IF lcl_objects=>is_supported( is_item = ls_item iv_native_only = abap_true ) = abap_true. IF lv_list IS INITIAL. lv_list = ls_item-obj_type. ELSE. lv_list = lv_list && `, ` && ls_item-obj_type. ENDIF. ENDIF. ENDLOOP. rv_html = |

Supported objects: { lv_list }

|. ENDMETHOD. " render_supported_object_types METHOD scripts. CREATE OBJECT ro_html. ro_html->add( 'debugOutput("Browser: " + navigator.userAgent, "debug_info");' ). ENDMETHOD. "scripts ENDCLASS. "lcl_gui_page_debuginfo