diff --git a/src/ui/zcl_abapgit_gui_page_debuginfo.clas.abap b/src/ui/zcl_abapgit_gui_page_debuginfo.clas.abap index caf5b1da4..53ba583ec 100644 --- a/src/ui/zcl_abapgit_gui_page_debuginfo.clas.abap +++ b/src/ui/zcl_abapgit_gui_page_debuginfo.clas.abap @@ -14,6 +14,9 @@ CLASS zcl_abapgit_gui_page_debuginfo DEFINITION render_content REDEFINITION. PRIVATE SECTION. + METHODS get_jump_class + IMPORTING iv_class TYPE seoclsname + RETURNING VALUE(rv_html) TYPE string. METHODS render_debug_info RETURNING VALUE(ro_html) TYPE REF TO zcl_abapgit_html RAISING zcx_abapgit_exception. @@ -38,6 +41,19 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_DEBUGINFO IMPLEMENTATION. ENDMETHOD. + METHOD get_jump_class. + + DATA: lv_encode TYPE string. + + lv_encode = zcl_abapgit_html_action_utils=>jump_encode( iv_obj_type = 'CLAS' + iv_obj_name = |{ iv_class }| ). + + rv_html = zcl_abapgit_html=>a( iv_txt = |{ iv_class }| + iv_act = |{ zif_abapgit_definitions=>c_action-jump }?{ lv_encode }| ). + + ENDMETHOD. + + METHOD render_content. CREATE OBJECT ro_html. @@ -71,12 +87,16 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_DEBUGINFO IMPLEMENTATION. CREATE OBJECT ro_html. - ro_html->add( |
abapGit version: { zif_abapgit_version=>gc_abap_version }
| ). - ro_html->add( |XML version: { zif_abapgit_version=>gc_xml_version }
| ). - ro_html->add( |GUI version: { lv_gui_version }
| ). - ro_html->add( |APACK version: { zcl_abapgit_apack_migration=>c_apack_interface_version }
| ). - ro_html->add( |LCL_TIME: { zcl_abapgit_time=>get_unix( ) }
| ). - ro_html->add( |SY time: { sy-datum } { sy-uzeit } { sy-tzone }
| ). + ro_html->add( |abapGit version: | { zif_abapgit_version=>gc_abap_version } |
XML version: | { zif_abapgit_version=>gc_xml_version } |
GUI version: | { lv_gui_version } |
APACK version: | { + zcl_abapgit_apack_migration=>c_apack_interface_version } |
LCL_TIME: | { zcl_abapgit_time=>get_unix( ) } |
SY time: | { sy-datum } { sy-uzeit } { sy-tzone } |
Supported objects: { lv_list }
|. + + rv_html = rv_html && |Object | Description | Class | Version | DDIC | |. + rv_html = rv_html && |Delete TADIR | Steps | |. + rv_html = rv_html && ||||||||
{ lv_type } | |. + + READ TABLE lt_obj ASSIGNING{ | |.
ELSE.
- lv_list = lv_list && `, ` && lv_type.
+ rv_html = rv_html && |>No description | |. ENDIF. + + + TRY. + ls_item-obj_type = lv_type. + ls_item-obj_name = 'TEST'. + + CREATE OBJECT li_object TYPE (lv_class) + EXPORTING + is_item = ls_item + iv_language = sy-langu. + + rv_html = rv_html && |{ get_jump_class( lv_class ) } | |. + + CATCH cx_sy_create_object_error. + TRY. " 2nd step, try looking for plugins + CREATE OBJECT li_object TYPE zcl_abapgit_objects_bridge + EXPORTING + is_item = ls_item. + CATCH cx_sy_create_object_error. + rv_html = rv_html && |{ lv_class } - error instantiating class | |. + CONTINUE. + ENDTRY. + + rv_html = rv_html && |{ get_jump_class( lv_class ) } (Plug-in) | |. + ENDTRY. + + ls_metadata = li_object->get_metadata( ). + + rv_html = rv_html && |{ ls_metadata-version } | |. + rv_html = rv_html && |{ ls_metadata-ddic } | |. + rv_html = rv_html && |{ ls_metadata-delete_tadir } | |. + + lt_steps = li_object->get_deserialize_steps( ). + + CLEAR lv_list. + LOOP AT lt_steps INTO lv_step. + IF lv_list IS INITIAL. + lv_list = lv_step. + ELSE. + lv_list = lv_list && `, ` && lv_step. + ENDIF. + ENDLOOP. + + rv_html = rv_html && |{ lv_list } | |. + + rv_html = rv_html && |