diff --git a/src/ui/zcl_abapgit_gui_page_code_insp.clas.abap b/src/ui/zcl_abapgit_gui_page_code_insp.clas.abap index f1ccce334..82ed3080d 100644 --- a/src/ui/zcl_abapgit_gui_page_code_insp.clas.abap +++ b/src/ui/zcl_abapgit_gui_page_code_insp.clas.abap @@ -71,6 +71,40 @@ ENDCLASS. CLASS ZCL_ABAPGIT_GUI_PAGE_CODE_INSP IMPLEMENTATION. + METHOD ask_user_for_check_variant. + + DATA: lt_return TYPE STANDARD TABLE OF ddshretval. + + FIELD-SYMBOLS: LIKE LINE OF lt_return. + + CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST' + EXPORTING + tabname = 'SCI_DYNP' + fieldname = 'CHKV' + TABLES + return_tab = lt_return + EXCEPTIONS + field_not_found = 1 + no_help_for_field = 2 + inconsistent_help = 3 + no_values_found = 4 + OTHERS = 5. + + IF sy-subrc <> 0. + zcx_abapgit_exception=>raise_t100( ). + ENDIF. + + READ TABLE lt_return ASSIGNING + WITH KEY retfield = 'SCI_DYNP-CHKV'. + IF sy-subrc <> 0. + zcx_abapgit_exception=>raise( |Please select a check variant.| ). + ENDIF. + + rv_check_variant = -fieldval. + + ENDMETHOD. + + METHOD build_menu. DATA: lv_opt TYPE c LENGTH 1. @@ -121,6 +155,17 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_CODE_INSP IMPLEMENTATION. ENDMETHOD. + METHOD determine_check_variant. + + mv_check_variant = mo_repo->get_local_settings( )-code_inspector_check_variant. + + IF mv_check_variant IS INITIAL. + mv_check_variant = ask_user_for_check_variant( ). + ENDIF. + + ENDMETHOD. + + METHOD has_inspection_errors. READ TABLE mt_result TRANSPORTING NO FIELDS @@ -140,8 +185,6 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_CODE_INSP IMPLEMENTATION. METHOD render_content. - FIELD-SYMBOLS: TYPE scir_alvlist. - CREATE OBJECT ro_html. IF mv_check_variant IS INITIAL. @@ -161,10 +204,8 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_CODE_INSP IMPLEMENTATION. ro_html->add( |
| ). - LOOP AT mt_result ASSIGNING . - render_result( io_html = ro_html - iv_result = ). - ENDLOOP. + render_result( io_html = ro_html + it_result = mt_result ). ro_html->add( '' ). @@ -266,49 +307,4 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_CODE_INSP IMPLEMENTATION. ro_html = super->zif_abapgit_gui_page~render( ). ENDMETHOD. - - METHOD ask_user_for_check_variant. - - DATA: lt_return TYPE STANDARD TABLE OF ddshretval. - - FIELD-SYMBOLS: LIKE LINE OF lt_return. - - CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST' - EXPORTING - tabname = 'SCI_DYNP' - fieldname = 'CHKV' - TABLES - return_tab = lt_return - EXCEPTIONS - field_not_found = 1 - no_help_for_field = 2 - inconsistent_help = 3 - no_values_found = 4 - OTHERS = 5. - - IF sy-subrc <> 0. - zcx_abapgit_exception=>raise_t100( ). - ENDIF. - - READ TABLE lt_return ASSIGNING - WITH KEY retfield = 'SCI_DYNP-CHKV'. - IF sy-subrc <> 0. - zcx_abapgit_exception=>raise( |Please select a check variant.| ). - ENDIF. - - rv_check_variant = -fieldval. - - ENDMETHOD. - - - METHOD determine_check_variant. - - mv_check_variant = mo_repo->get_local_settings( )-code_inspector_check_variant. - - IF mv_check_variant IS INITIAL. - mv_check_variant = ask_user_for_check_variant( ). - ENDIF. - - ENDMETHOD. - ENDCLASS. diff --git a/src/ui/zcl_abapgit_gui_page_codi_base.clas.abap b/src/ui/zcl_abapgit_gui_page_codi_base.clas.abap index 976fd78f1..783b907aa 100644 --- a/src/ui/zcl_abapgit_gui_page_codi_base.clas.abap +++ b/src/ui/zcl_abapgit_gui_page_codi_base.clas.abap @@ -5,20 +5,21 @@ CLASS zcl_abapgit_gui_page_codi_base DEFINITION PUBLIC ABSTRACT INHERITING FROM REDEFINITION. PROTECTED SECTION. - DATA: mo_repo TYPE REF TO zcl_abapgit_repo. - DATA: - mt_result TYPE scit_alvlist. - METHODS: - render_result IMPORTING io_html TYPE REF TO zcl_abapgit_html - iv_result TYPE scir_alvlist, - jump - IMPORTING - is_item TYPE zif_abapgit_definitions=>ty_item - is_sub_item TYPE zif_abapgit_definitions=>ty_item - iv_line_number TYPE i - RAISING - zcx_abapgit_exception. + DATA mo_repo TYPE REF TO zcl_abapgit_repo . + DATA mt_result TYPE scit_alvlist . + + METHODS render_result + IMPORTING + !io_html TYPE REF TO zcl_abapgit_html + !it_result TYPE scit_alvlist . + METHODS jump + IMPORTING + !is_item TYPE zif_abapgit_definitions=>ty_item + !is_sub_item TYPE zif_abapgit_definitions=>ty_item + !iv_line_number TYPE i + RAISING + zcx_abapgit_exception . PRIVATE SECTION. CONSTANTS: c_object_separator TYPE char1 VALUE '|'. @@ -104,45 +105,59 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_CODI_BASE IMPLEMENTATION. METHOD render_result. + + CONSTANTS: lc_limit TYPE i VALUE 500. + DATA: lv_class TYPE string, lv_line TYPE string. - io_html->add( '
' ). - IF iv_result-sobjname IS INITIAL OR - ( iv_result-sobjname = iv_result-objname AND - iv_result-sobjtype = iv_result-sobjtype ). - io_html->add_a( iv_txt = |{ iv_result-objtype } { iv_result-objname }| - iv_act = |{ iv_result-objtype }{ iv_result-objname }| && - |{ c_object_separator }{ c_object_separator }{ iv_result-line }| - iv_typ = zif_abapgit_definitions=>c_action_type-sapevent ). + FIELD-SYMBOLS: TYPE scir_alvlist. - ELSE. - io_html->add_a( iv_txt = |{ iv_result-objtype } { iv_result-objname }| && - | < { iv_result-sobjtype } { iv_result-sobjname }| - iv_act = |{ iv_result-objtype }{ iv_result-objname }| && - |{ c_object_separator }{ iv_result-sobjtype }{ iv_result-sobjname }| && - |{ c_object_separator }{ iv_result-line }| - iv_typ = zif_abapgit_definitions=>c_action_type-sapevent ). + LOOP AT it_result ASSIGNING TO lc_limit. + + io_html->add( '
' ). + IF -sobjname IS INITIAL OR + ( -sobjname = -objname AND + -sobjtype = -sobjtype ). + io_html->add_a( iv_txt = |{ -objtype } { -objname }| + iv_act = |{ -objtype }{ -objname }| && + |{ c_object_separator }{ c_object_separator }{ -line }| + iv_typ = zif_abapgit_definitions=>c_action_type-sapevent ). + + ELSE. + io_html->add_a( iv_txt = |{ -objtype } { -objname }| && + | < { -sobjtype } { -sobjname }| + iv_act = |{ -objtype }{ -objname }| && + |{ c_object_separator }{ -sobjtype }{ -sobjname }| && + |{ c_object_separator }{ -line }| + iv_typ = zif_abapgit_definitions=>c_action_type-sapevent ). + + ENDIF. + io_html->add( '
' ). + + CASE -kind. + WHEN 'E'. + lv_class = 'error'. + WHEN 'W'. + lv_class = 'warning'. + WHEN OTHERS. + lv_class = 'grey'. + ENDCASE. + + CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' + EXPORTING + input = -line + IMPORTING + output = lv_line. + + io_html->add( |
Line { lv_line }: { -text }

| ). + + ENDLOOP. + + IF lines( it_result ) > lc_limit. + io_html->add( |Only first { lc_limit } findings shown in list!| ). ENDIF. - io_html->add( '
' ). - - CASE iv_result-kind. - WHEN 'E'. - lv_class = 'error'. - WHEN 'W'. - lv_class = 'warning'. - WHEN OTHERS. - lv_class = 'grey'. - ENDCASE. - - CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' - EXPORTING - input = iv_result-line - IMPORTING - output = lv_line. - - io_html->add( |
Line { lv_line }: { iv_result-text }

| ). ENDMETHOD. diff --git a/src/ui/zcl_abapgit_gui_page_syntax.clas.abap b/src/ui/zcl_abapgit_gui_page_syntax.clas.abap index 83ed580f4..e79a83d62 100644 --- a/src/ui/zcl_abapgit_gui_page_syntax.clas.abap +++ b/src/ui/zcl_abapgit_gui_page_syntax.clas.abap @@ -13,6 +13,7 @@ CLASS zcl_abapgit_gui_page_syntax DEFINITION PUBLIC FINAL CREATE PUBLIC METHODS: render_content REDEFINITION. + PRIVATE SECTION. ENDCLASS. @@ -30,7 +31,6 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_SYNTAX IMPLEMENTATION. METHOD render_content. DATA: li_syntax_check TYPE REF TO zif_abapgit_code_inspector. - FIELD-SYMBOLS: LIKE LINE OF mt_result. li_syntax_check = zcl_abapgit_factory=>get_syntax_check( mo_repo->get_package( ) ). @@ -43,10 +43,8 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_SYNTAX IMPLEMENTATION. ro_html->add( 'No errors' ). ENDIF. - LOOP AT mt_result ASSIGNING . - render_result( io_html = ro_html - iv_result = ). - ENDLOOP. + render_result( io_html = ro_html + it_result = mt_result ). ro_html->add( '' ).