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 dbbc81c9b..2bfed4eb0 100644 --- a/src/ui/zcl_abapgit_gui_page_code_insp.clas.abap +++ b/src/ui/zcl_abapgit_gui_page_code_insp.clas.abap @@ -69,35 +69,12 @@ CLASS zcl_abapgit_gui_page_code_insp IMPLEMENTATION. METHOD ask_user_for_check_variant. - DATA: lt_return TYPE STANDARD TABLE OF ddshretval. + rv_check_variant = zcl_abapgit_ui_factory=>get_popups( )->choose_code_insp_check_variant( ). - 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. + IF rv_check_variant IS INITIAL. zcx_abapgit_exception=>raise( |Please select a check variant.| ). ENDIF. - rv_check_variant = -fieldval. - ENDMETHOD. diff --git a/src/ui/zcl_abapgit_gui_page_sett_locl.clas.abap b/src/ui/zcl_abapgit_gui_page_sett_locl.clas.abap index 383e52195..7c46e1b81 100644 --- a/src/ui/zcl_abapgit_gui_page_sett_locl.clas.abap +++ b/src/ui/zcl_abapgit_gui_page_sett_locl.clas.abap @@ -40,8 +40,9 @@ CLASS zcl_abapgit_gui_page_sett_locl DEFINITION END OF c_id . CONSTANTS: BEGIN OF c_event, - save TYPE string VALUE 'save', - choose_labels TYPE string VALUE 'choose-labels', + save TYPE string VALUE 'save', + choose_labels TYPE string VALUE 'choose-labels', + choose_check_variant TYPE string VALUE 'choose_check_variant', END OF c_event . DATA mo_form TYPE REF TO zcl_abapgit_html_form . @@ -73,6 +74,9 @@ CLASS zcl_abapgit_gui_page_sett_locl DEFINITION METHODS choose_labels RAISING zcx_abapgit_exception. + METHODS choose_check_variant + RAISING + zcx_abapgit_exception. ENDCLASS. @@ -154,6 +158,7 @@ CLASS zcl_abapgit_gui_page_sett_locl IMPLEMENTATION. iv_hint = 'Code Inspector check performed to run from menu and before commit' )->text( iv_name = c_id-code_inspector_check_variant + iv_side_action = c_event-choose_check_variant iv_label = 'Code Inspector Check Variant' iv_hint = 'Global check variant for Code Inspector or ABAP Test Cockpit' )->checkbox( @@ -279,6 +284,12 @@ CLASS zcl_abapgit_gui_page_sett_locl IMPLEMENTATION. choose_labels( ). rs_handled-state = zcl_abapgit_gui=>c_event_state-re_render. + + WHEN c_event-choose_check_variant. + + choose_check_variant( ). + rs_handled-state = zcl_abapgit_gui=>c_event_state-re_render. + WHEN c_event-save. " Validate form entries before saving mo_validation_log = validate_form( mo_form_data ). @@ -336,4 +347,19 @@ CLASS zcl_abapgit_gui_page_sett_locl IMPLEMENTATION. ENDMETHOD. + + METHOD choose_check_variant. + + DATA: lv_check_variant TYPE sci_chkv. + + lv_check_variant = zcl_abapgit_ui_factory=>get_popups( )->choose_code_insp_check_variant( ). + + IF lv_check_variant IS NOT INITIAL. + mo_form_data->set( + iv_key = c_id-code_inspector_check_variant + iv_val = lv_check_variant ). + ENDIF. + + ENDMETHOD. + ENDCLASS. diff --git a/src/ui/zcl_abapgit_html_form_utils.clas.testclasses.abap b/src/ui/zcl_abapgit_html_form_utils.clas.testclasses.abap index 0cde046b2..0e02b7781 100644 --- a/src/ui/zcl_abapgit_html_form_utils.clas.testclasses.abap +++ b/src/ui/zcl_abapgit_html_form_utils.clas.testclasses.abap @@ -103,6 +103,9 @@ CLASS ltcl_popups_mock IMPLEMENTATION. METHOD zif_abapgit_popups~popup_to_select_labels. ENDMETHOD. + METHOD zif_abapgit_popups~choose_code_insp_check_variant. + ENDMETHOD. + ENDCLASS. CLASS ltcl_test_form DEFINITION diff --git a/src/ui/zcl_abapgit_popups.clas.abap b/src/ui/zcl_abapgit_popups.clas.abap index 27d6ba9dc..520d1d753 100644 --- a/src/ui/zcl_abapgit_popups.clas.abap +++ b/src/ui/zcl_abapgit_popups.clas.abap @@ -1380,4 +1380,36 @@ CLASS zcl_abapgit_popups IMPLEMENTATION. ENDMETHOD. + + METHOD zif_abapgit_popups~choose_code_insp_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. + rv_check_variant = -fieldval. + ENDIF. + + ENDMETHOD. + ENDCLASS. diff --git a/src/ui/zcl_abapgit_services_basis.clas.testclasses.abap b/src/ui/zcl_abapgit_services_basis.clas.testclasses.abap index 82bb59f13..7bce0696a 100644 --- a/src/ui/zcl_abapgit_services_basis.clas.testclasses.abap +++ b/src/ui/zcl_abapgit_services_basis.clas.testclasses.abap @@ -423,4 +423,8 @@ CLASS ltcl_popups_mock IMPLEMENTATION. ENDMETHOD. + METHOD zif_abapgit_popups~choose_code_insp_check_variant. + + ENDMETHOD. + ENDCLASS. diff --git a/src/ui/zcl_abapgit_ui_injector.clas.testclasses.abap b/src/ui/zcl_abapgit_ui_injector.clas.testclasses.abap index 5c96dfa9d..aa1d0c264 100644 --- a/src/ui/zcl_abapgit_ui_injector.clas.testclasses.abap +++ b/src/ui/zcl_abapgit_ui_injector.clas.testclasses.abap @@ -92,6 +92,10 @@ CLASS ltcl_abapgit_popups_mock IMPLEMENTATION. ENDMETHOD. + METHOD zif_abapgit_popups~choose_code_insp_check_variant. + + ENDMETHOD. + ENDCLASS. CLASS ltcl_no_dependency_injection IMPLEMENTATION. diff --git a/src/ui/zif_abapgit_popups.intf.abap b/src/ui/zif_abapgit_popups.intf.abap index d2658d919..a06c35649 100644 --- a/src/ui/zif_abapgit_popups.intf.abap +++ b/src/ui/zif_abapgit_popups.intf.abap @@ -133,5 +133,9 @@ INTERFACE zif_abapgit_popups IMPORTING iv_labels TYPE string OPTIONAL RETURNING VALUE(rv_labels) TYPE string RAISING zcx_abapgit_exception. + METHODS choose_code_insp_check_variant + RETURNING VALUE(rv_check_variant) TYPE sci_chkv + RAISING + zcx_abapgit_exception. ENDINTERFACE.