syst_title is missing in 731 (#3896)

* syst_title is mising in 731

* adjust type

* Update abaplint.json

Co-authored-by: Lars Hvam <larshp@hotmail.com>
This commit is contained in:
Alexander Tsybulsky 2020-09-17 18:40:38 +03:00 committed by GitHub
parent c05af1163f
commit d20cdd07c2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 228 additions and 211 deletions

View File

@ -97,6 +97,7 @@
"forbidden_void_type": {
"check": ["^stringtab$", "^SYCHAR01$", "^char2$", "^char20$", "^int4$", "^SYREPID$",
"^flag$", "^char12$", "^char10$", "^char70$", "^char4$", "^sydatum$", "^syuzeit$",
"^syst_title$", "^sychar70$",
"^numc2$", "^sap_bool$", "^SYCHAR10$", "^sylangu$"]
},
"forbidden_identifier": true,

View File

@ -17,9 +17,12 @@ CLASS zcl_abapgit_free_sel_dialog DEFINITION
text TYPE rsseltext,
END OF ty_free_sel_field,
ty_free_sel_field_tab TYPE STANDARD TABLE OF ty_free_sel_field WITH DEFAULT KEY.
TYPES: ty_syst_title TYPE c LENGTH 70.
METHODS:
constructor IMPORTING iv_title TYPE syst_title OPTIONAL
iv_frame_text TYPE syst_title OPTIONAL,
constructor IMPORTING iv_title TYPE ty_syst_title OPTIONAL
iv_frame_text TYPE ty_syst_title OPTIONAL,
set_fields CHANGING ct_fields TYPE ty_free_sel_field_tab,
show RAISING zcx_abapgit_cancel
zcx_abapgit_exception.
@ -48,72 +51,20 @@ CLASS zcl_abapgit_free_sel_dialog DEFINITION
transfer_results_to_input IMPORTING it_result_ranges TYPE rsds_trange.
DATA:
mr_fields TYPE REF TO ty_free_sel_field_tab,
mv_title TYPE syst_title,
mv_frame_text TYPE syst_title.
mv_title TYPE ty_syst_title,
mv_frame_text TYPE ty_syst_title.
ENDCLASS.
CLASS zcl_abapgit_free_sel_dialog IMPLEMENTATION.
CLASS ZCL_ABAPGIT_FREE_SEL_DIALOG IMPLEMENTATION.
METHOD constructor.
mv_title = iv_title.
mv_frame_text = iv_frame_text.
ENDMETHOD.
METHOD set_fields.
GET REFERENCE OF ct_fields INTO mr_fields.
ENDMETHOD.
METHOD show.
DATA: lt_default_values TYPE rsds_trange,
ls_restriction TYPE sscr_restrict_ds,
lt_fields TYPE rsdsfields_t,
lt_field_texts TYPE ty_field_text_tab,
lv_repeat_dialog TYPE abap_bool VALUE abap_true,
lv_selection_id TYPE dynselid,
lt_results TYPE rsds_trange,
lx_validation_error TYPE REF TO zcx_abapgit_exception.
convert_input_fields(
IMPORTING
et_default_values = lt_default_values
es_restriction = ls_restriction
et_fields = lt_fields
et_field_texts = lt_field_texts ).
WHILE lv_repeat_dialog = abap_true.
lv_repeat_dialog = abap_false.
free_selections_init(
EXPORTING
it_default_values = lt_default_values
is_restriction = ls_restriction
IMPORTING
ev_selection_id = lv_selection_id
CHANGING
ct_fields = lt_fields
ct_field_texts = lt_field_texts ).
free_selections_dialog(
EXPORTING
iv_selection_id = lv_selection_id
IMPORTING
et_result_ranges = lt_results
CHANGING
ct_fields = lt_fields ).
TRY.
validate_results( lt_results ).
CATCH zcx_abapgit_exception INTO lx_validation_error.
lv_repeat_dialog = abap_true.
lt_default_values = lt_results.
MESSAGE lx_validation_error TYPE 'I' DISPLAY LIKE 'E'.
CONTINUE.
ENDTRY.
transfer_results_to_input( lt_results ).
ENDWHILE.
ENDMETHOD.
METHOD convert_input_fields.
CONSTANTS: lc_only_eq_optlist_name TYPE c LENGTH 10 VALUE 'ONLYEQ'.
@ -181,6 +132,37 @@ CLASS zcl_abapgit_free_sel_dialog IMPLEMENTATION.
ENDLOOP.
ENDMETHOD.
METHOD free_selections_dialog.
CALL FUNCTION 'FREE_SELECTIONS_DIALOG'
EXPORTING
selection_id = iv_selection_id
title = mv_title
frame_text = mv_frame_text
status = 1
as_window = abap_true
no_intervals = abap_true
tree_visible = abap_false
IMPORTING
field_ranges = et_result_ranges
TABLES
fields_tab = ct_fields
EXCEPTIONS
internal_error = 1
no_action = 2
selid_not_found = 3
illegal_status = 4
OTHERS = 5.
CASE sy-subrc.
WHEN 0 ##NEEDED.
WHEN 2.
RAISE EXCEPTION TYPE zcx_abapgit_cancel.
WHEN OTHERS.
zcx_abapgit_exception=>raise( |Error from FREE_SELECTIONS_DIALOG: { sy-subrc }| ).
ENDCASE.
ENDMETHOD.
METHOD free_selections_init.
CALL FUNCTION 'FREE_SELECTIONS_INIT'
EXPORTING
@ -218,35 +200,105 @@ CLASS zcl_abapgit_free_sel_dialog IMPLEMENTATION.
ENDIF.
ENDMETHOD.
METHOD free_selections_dialog.
CALL FUNCTION 'FREE_SELECTIONS_DIALOG'
EXPORTING
selection_id = iv_selection_id
title = mv_title
frame_text = mv_frame_text
status = 1
as_window = abap_true
no_intervals = abap_true
tree_visible = abap_false
IMPORTING
field_ranges = et_result_ranges
TABLES
fields_tab = ct_fields
EXCEPTIONS
internal_error = 1
no_action = 2
selid_not_found = 3
illegal_status = 4
OTHERS = 5.
CASE sy-subrc.
WHEN 0 ##NEEDED.
WHEN 2.
RAISE EXCEPTION TYPE zcx_abapgit_cancel.
WHEN OTHERS.
zcx_abapgit_exception=>raise( |Error from FREE_SELECTIONS_DIALOG: { sy-subrc }| ).
ENDCASE.
METHOD set_fields.
GET REFERENCE OF ct_fields INTO mr_fields.
ENDMETHOD.
METHOD show.
DATA: lt_default_values TYPE rsds_trange,
ls_restriction TYPE sscr_restrict_ds,
lt_fields TYPE rsdsfields_t,
lt_field_texts TYPE ty_field_text_tab,
lv_repeat_dialog TYPE abap_bool VALUE abap_true,
lv_selection_id TYPE dynselid,
lt_results TYPE rsds_trange,
lx_validation_error TYPE REF TO zcx_abapgit_exception.
convert_input_fields(
IMPORTING
et_default_values = lt_default_values
es_restriction = ls_restriction
et_fields = lt_fields
et_field_texts = lt_field_texts ).
WHILE lv_repeat_dialog = abap_true.
lv_repeat_dialog = abap_false.
free_selections_init(
EXPORTING
it_default_values = lt_default_values
is_restriction = ls_restriction
IMPORTING
ev_selection_id = lv_selection_id
CHANGING
ct_fields = lt_fields
ct_field_texts = lt_field_texts ).
free_selections_dialog(
EXPORTING
iv_selection_id = lv_selection_id
IMPORTING
et_result_ranges = lt_results
CHANGING
ct_fields = lt_fields ).
TRY.
validate_results( lt_results ).
CATCH zcx_abapgit_exception INTO lx_validation_error.
lv_repeat_dialog = abap_true.
lt_default_values = lt_results.
MESSAGE lx_validation_error TYPE 'I' DISPLAY LIKE 'E'.
CONTINUE.
ENDTRY.
transfer_results_to_input( lt_results ).
ENDWHILE.
ENDMETHOD.
METHOD transfer_results_to_input.
FIELD-SYMBOLS: <ls_input_field> TYPE ty_free_sel_field,
<lt_input_fields> TYPE ty_free_sel_field_tab,
<ls_result_range_for_tab> TYPE rsds_range,
<ls_result_range_line> TYPE rsds_frange,
<ls_selopt_line> TYPE rsdsselopt.
ASSIGN mr_fields->* TO <lt_input_fields>.
ASSERT sy-subrc = 0.
LOOP AT <lt_input_fields> ASSIGNING <ls_input_field>.
READ TABLE it_result_ranges WITH KEY tablename = <ls_input_field>-ddic_tabname
ASSIGNING <ls_result_range_for_tab>.
IF sy-subrc = 0.
READ TABLE <ls_result_range_for_tab>-frange_t WITH KEY fieldname = <ls_input_field>-ddic_fieldname
ASSIGNING <ls_result_range_line>.
IF sy-subrc = 0 AND <ls_result_range_line>-selopt_t IS NOT INITIAL.
IF <ls_input_field>-only_parameter = abap_true.
ASSERT lines( <ls_result_range_line>-selopt_t ) = 1.
READ TABLE <ls_result_range_line>-selopt_t INDEX 1 ASSIGNING <ls_selopt_line>.
ASSERT sy-subrc = 0.
ASSERT <ls_selopt_line>-sign = 'I' AND
<ls_selopt_line>-option = 'EQ' AND
<ls_selopt_line>-high IS INITIAL.
<ls_input_field>-value = <ls_selopt_line>-low.
ELSE.
<ls_input_field>-value_range = <ls_result_range_line>-selopt_t.
ENDIF.
ELSE.
CLEAR: <ls_input_field>-value, <ls_input_field>-value_range.
ENDIF.
ELSE.
CLEAR: <ls_input_field>-value, <ls_input_field>-value_range.
ENDIF.
ENDLOOP.
ENDMETHOD.
METHOD validate_results.
DATA: ls_error_msg TYPE symsg,
lv_ddut_fieldname TYPE fnam_____4,
@ -313,44 +365,4 @@ CLASS zcl_abapgit_free_sel_dialog IMPLEMENTATION.
ENDLOOP.
ENDLOOP.
ENDMETHOD.
METHOD transfer_results_to_input.
FIELD-SYMBOLS: <ls_input_field> TYPE ty_free_sel_field,
<lt_input_fields> TYPE ty_free_sel_field_tab,
<ls_result_range_for_tab> TYPE rsds_range,
<ls_result_range_line> TYPE rsds_frange,
<ls_selopt_line> TYPE rsdsselopt.
ASSIGN mr_fields->* TO <lt_input_fields>.
ASSERT sy-subrc = 0.
LOOP AT <lt_input_fields> ASSIGNING <ls_input_field>.
READ TABLE it_result_ranges WITH KEY tablename = <ls_input_field>-ddic_tabname
ASSIGNING <ls_result_range_for_tab>.
IF sy-subrc = 0.
READ TABLE <ls_result_range_for_tab>-frange_t WITH KEY fieldname = <ls_input_field>-ddic_fieldname
ASSIGNING <ls_result_range_line>.
IF sy-subrc = 0 AND <ls_result_range_line>-selopt_t IS NOT INITIAL.
IF <ls_input_field>-only_parameter = abap_true.
ASSERT lines( <ls_result_range_line>-selopt_t ) = 1.
READ TABLE <ls_result_range_line>-selopt_t INDEX 1 ASSIGNING <ls_selopt_line>.
ASSERT sy-subrc = 0.
ASSERT <ls_selopt_line>-sign = 'I' AND
<ls_selopt_line>-option = 'EQ' AND
<ls_selopt_line>-high IS INITIAL.
<ls_input_field>-value = <ls_selopt_line>-low.
ELSE.
<ls_input_field>-value_range = <ls_result_range_line>-selopt_t.
ENDIF.
ELSE.
CLEAR: <ls_input_field>-value, <ls_input_field>-value_range.
ENDIF.
ELSE.
CLEAR: <ls_input_field>-value, <ls_input_field>-value_range.
ENDIF.
ENDLOOP.
ENDMETHOD.
ENDCLASS.

View File

@ -6,11 +6,14 @@ CLASS zcl_abapgit_gui_functions DEFINITION
INTERFACES:
zif_abapgit_gui_functions.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS zcl_abapgit_gui_functions IMPLEMENTATION.
CLASS ZCL_ABAPGIT_GUI_FUNCTIONS IMPLEMENTATION.
METHOD zif_abapgit_gui_functions~gui_is_available.
@ -28,5 +31,4 @@ CLASS zcl_abapgit_gui_functions IMPLEMENTATION.
return = rv_result.
ENDMETHOD.
ENDCLASS.

View File

@ -94,8 +94,8 @@ CLASS zcl_abapgit_popups DEFINITION
RAISING zcx_abapgit_exception.
METHODS popup_get_from_free_selections
IMPORTING
iv_title TYPE syst_title OPTIONAL
iv_frame_text TYPE syst_title OPTIONAL
iv_title TYPE zcl_abapgit_free_sel_dialog=>ty_syst_title OPTIONAL
iv_frame_text TYPE zcl_abapgit_free_sel_dialog=>ty_syst_title OPTIONAL
CHANGING
ct_fields TYPE zcl_abapgit_free_sel_dialog=>ty_free_sel_field_tab
RAISING
@ -110,7 +110,7 @@ ENDCLASS.
CLASS zcl_abapgit_popups IMPLEMENTATION.
CLASS ZCL_ABAPGIT_POPUPS IMPLEMENTATION.
METHOD add_field.
@ -413,6 +413,19 @@ CLASS zcl_abapgit_popups IMPLEMENTATION.
ENDMETHOD.
METHOD popup_get_from_free_selections.
DATA: lo_free_sel_dialog TYPE REF TO zcl_abapgit_free_sel_dialog.
CREATE OBJECT lo_free_sel_dialog
EXPORTING
iv_title = iv_title
iv_frame_text = iv_frame_text.
lo_free_sel_dialog->set_fields( CHANGING ct_fields = ct_fields ).
lo_free_sel_dialog->show( ).
ENDMETHOD.
METHOD validate_folder_logic.
IF iv_folder_logic <> zif_abapgit_dot_abapgit=>c_folder_logic-prefix
@ -834,6 +847,75 @@ CLASS zcl_abapgit_popups IMPLEMENTATION.
ENDMETHOD.
METHOD zif_abapgit_popups~popup_perf_test_parameters.
DATA: lt_fields TYPE zcl_abapgit_free_sel_dialog=>ty_free_sel_field_tab.
FIELD-SYMBOLS: <ls_field> TYPE zcl_abapgit_free_sel_dialog=>ty_free_sel_field.
APPEND INITIAL LINE TO lt_fields ASSIGNING <ls_field>.
<ls_field>-name = 'PACKAGE'.
<ls_field>-only_parameter = abap_true.
<ls_field>-ddic_tabname = 'TADIR'.
<ls_field>-ddic_fieldname = 'DEVCLASS'.
<ls_field>-param_obligatory = abap_true.
<ls_field>-value = cv_package.
APPEND INITIAL LINE TO lt_fields ASSIGNING <ls_field>.
<ls_field>-name = 'PGMID'.
<ls_field>-only_parameter = abap_true.
<ls_field>-ddic_tabname = 'TADIR'.
<ls_field>-ddic_fieldname = 'PGMID'.
<ls_field>-value = 'R3TR'.
APPEND INITIAL LINE TO lt_fields ASSIGNING <ls_field>.
<ls_field>-name = 'OBJECT'.
<ls_field>-ddic_tabname = 'TADIR'.
<ls_field>-ddic_fieldname = 'OBJECT'.
APPEND INITIAL LINE TO lt_fields ASSIGNING <ls_field>.
<ls_field>-name = 'OBJ_NAME'.
<ls_field>-ddic_tabname = 'TADIR'.
<ls_field>-ddic_fieldname = 'OBJ_NAME'.
APPEND INITIAL LINE TO lt_fields ASSIGNING <ls_field>.
<ls_field>-name = 'INCLUDE_SUB_PACKAGES'.
<ls_field>-only_parameter = abap_true.
<ls_field>-ddic_tabname = 'TDEVC'.
<ls_field>-ddic_fieldname = 'IS_ENHANCEABLE'.
<ls_field>-text = 'Include subpackages'.
<ls_field>-value = cv_include_sub_packages.
APPEND INITIAL LINE TO lt_fields ASSIGNING <ls_field>.
<ls_field>-name = 'MASTER_LANG_ONLY'.
<ls_field>-only_parameter = abap_true.
<ls_field>-ddic_tabname = 'TVDIR'.
<ls_field>-ddic_fieldname = 'FLAG'.
<ls_field>-text = 'Master lang only'.
<ls_field>-value = cv_serialize_master_lang_only.
popup_get_from_free_selections(
EXPORTING
iv_title = 'Serialization Performance Test Parameters'
iv_frame_text = 'Parameters'
CHANGING
ct_fields = lt_fields ).
LOOP AT lt_fields ASSIGNING <ls_field>.
CASE <ls_field>-name.
WHEN 'PACKAGE'.
cv_package = <ls_field>-value.
WHEN 'OBJECT'.
et_object_type_filter = <ls_field>-value_range.
WHEN 'OBJ_NAME'.
et_object_name_filter = <ls_field>-value_range.
WHEN 'INCLUDE_SUB_PACKAGES'.
cv_include_sub_packages = boolc( <ls_field>-value IS NOT INITIAL ).
WHEN 'MASTER_LANG_ONLY'.
cv_serialize_master_lang_only = boolc( <ls_field>-value IS NOT INITIAL ).
ENDCASE.
ENDLOOP.
ENDMETHOD.
METHOD zif_abapgit_popups~popup_proxy_bypass.
rt_proxy_bypass = it_proxy_bypass.
CALL FUNCTION 'COMPLEX_SELECTIONS_DIALOG'
@ -1497,84 +1579,4 @@ CLASS zcl_abapgit_popups IMPLEMENTATION.
ENDIF.
ENDMETHOD.
METHOD zif_abapgit_popups~popup_perf_test_parameters.
DATA: lt_fields TYPE zcl_abapgit_free_sel_dialog=>ty_free_sel_field_tab.
FIELD-SYMBOLS: <ls_field> TYPE zcl_abapgit_free_sel_dialog=>ty_free_sel_field.
APPEND INITIAL LINE TO lt_fields ASSIGNING <ls_field>.
<ls_field>-name = 'PACKAGE'.
<ls_field>-only_parameter = abap_true.
<ls_field>-ddic_tabname = 'TADIR'.
<ls_field>-ddic_fieldname = 'DEVCLASS'.
<ls_field>-param_obligatory = abap_true.
<ls_field>-value = cv_package.
APPEND INITIAL LINE TO lt_fields ASSIGNING <ls_field>.
<ls_field>-name = 'PGMID'.
<ls_field>-only_parameter = abap_true.
<ls_field>-ddic_tabname = 'TADIR'.
<ls_field>-ddic_fieldname = 'PGMID'.
<ls_field>-value = 'R3TR'.
APPEND INITIAL LINE TO lt_fields ASSIGNING <ls_field>.
<ls_field>-name = 'OBJECT'.
<ls_field>-ddic_tabname = 'TADIR'.
<ls_field>-ddic_fieldname = 'OBJECT'.
APPEND INITIAL LINE TO lt_fields ASSIGNING <ls_field>.
<ls_field>-name = 'OBJ_NAME'.
<ls_field>-ddic_tabname = 'TADIR'.
<ls_field>-ddic_fieldname = 'OBJ_NAME'.
APPEND INITIAL LINE TO lt_fields ASSIGNING <ls_field>.
<ls_field>-name = 'INCLUDE_SUB_PACKAGES'.
<ls_field>-only_parameter = abap_true.
<ls_field>-ddic_tabname = 'TDEVC'.
<ls_field>-ddic_fieldname = 'IS_ENHANCEABLE'.
<ls_field>-text = 'Include subpackages'.
<ls_field>-value = cv_include_sub_packages.
APPEND INITIAL LINE TO lt_fields ASSIGNING <ls_field>.
<ls_field>-name = 'MASTER_LANG_ONLY'.
<ls_field>-only_parameter = abap_true.
<ls_field>-ddic_tabname = 'TVDIR'.
<ls_field>-ddic_fieldname = 'FLAG'.
<ls_field>-text = 'Master lang only'.
<ls_field>-value = cv_serialize_master_lang_only.
popup_get_from_free_selections(
EXPORTING
iv_title = 'Serialization Performance Test Parameters'
iv_frame_text = 'Parameters'
CHANGING
ct_fields = lt_fields ).
LOOP AT lt_fields ASSIGNING <ls_field>.
CASE <ls_field>-name.
WHEN 'PACKAGE'.
cv_package = <ls_field>-value.
WHEN 'OBJECT'.
et_object_type_filter = <ls_field>-value_range.
WHEN 'OBJ_NAME'.
et_object_name_filter = <ls_field>-value_range.
WHEN 'INCLUDE_SUB_PACKAGES'.
cv_include_sub_packages = boolc( <ls_field>-value IS NOT INITIAL ).
WHEN 'MASTER_LANG_ONLY'.
cv_serialize_master_lang_only = boolc( <ls_field>-value IS NOT INITIAL ).
ENDCASE.
ENDLOOP.
ENDMETHOD.
METHOD popup_get_from_free_selections.
DATA: lo_free_sel_dialog TYPE REF TO zcl_abapgit_free_sel_dialog.
CREATE OBJECT lo_free_sel_dialog
EXPORTING
iv_title = iv_title
iv_frame_text = iv_frame_text.
lo_free_sel_dialog->set_fields( CHANGING ct_fields = ct_fields ).
lo_free_sel_dialog->show( ).
ENDMETHOD.
ENDCLASS.