From aeb6b285d873c9ef7f979c04700729a80543ed39 Mon Sep 17 00:00:00 2001 From: Marc Bernard <59966492+mbtools@users.noreply.github.com> Date: Sat, 14 Oct 2023 04:36:09 -0400 Subject: [PATCH] Refactor: Fix observations (#6542) Co-authored-by: Lars Hvam --- package.json | 2 +- .../sap/zcl_abapgit_sap_report.clas.abap | 6 ++--- src/objects/zcl_abapgit_object_clas.clas.abap | 6 +++-- src/objects/zcl_abapgit_object_devc.clas.abap | 7 ++++-- src/objects/zcl_abapgit_object_fugr.clas.abap | 19 +++++++++------- src/objects/zcl_abapgit_object_intf.clas.abap | 19 ++++++---------- ..._abapgit_object_intf.clas.testclasses.abap | 13 +++++------ src/objects/zcl_abapgit_object_prog.clas.abap | 3 ++- .../zcl_abapgit_objects_super.clas.abap | 22 +++++++++---------- 9 files changed, 50 insertions(+), 47 deletions(-) diff --git a/package.json b/package.json index b0c95c030..42ed8355b 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ ] }, "devDependencies": { - "@abaplint/cli": "^2.102.56", + "@abaplint/cli": "^2.102.57", "@abaplint/database-sqlite": "^2.7.101", "@abaplint/runtime": "^2.7.105", "@abaplint/transpiler-cli": "^2.7.105", diff --git a/src/objects/sap/zcl_abapgit_sap_report.clas.abap b/src/objects/sap/zcl_abapgit_sap_report.clas.abap index ccb6d94e4..39a56c2d8 100644 --- a/src/objects/sap/zcl_abapgit_sap_report.clas.abap +++ b/src/objects/sap/zcl_abapgit_sap_report.clas.abap @@ -108,13 +108,13 @@ CLASS zcl_abapgit_sap_report IMPLEMENTATION. STATE iv_state. ELSEIF iv_extension_type IS INITIAL. INSERT REPORT iv_name FROM it_source - STATE iv_state + STATE iv_state PROGRAM TYPE iv_program_type. ELSE. INSERT REPORT iv_name FROM it_source - STATE iv_state + STATE iv_state EXTENSION TYPE iv_extension_type - PROGRAM TYPE iv_program_type. + PROGRAM TYPE iv_program_type. ENDIF. IF sy-subrc <> 0. diff --git a/src/objects/zcl_abapgit_object_clas.clas.abap b/src/objects/zcl_abapgit_object_clas.clas.abap index 81a73dfda..5b0d2c661 100644 --- a/src/objects/zcl_abapgit_object_clas.clas.abap +++ b/src/objects/zcl_abapgit_object_clas.clas.abap @@ -702,7 +702,8 @@ CLASS zcl_abapgit_object_clas IMPLEMENTATION. WHERE r3state = 'A' AND prog = mv_classpool_name AND language IN lt_language_filter - AND language <> mv_language. + AND language <> mv_language + ORDER BY language. ii_xml->add( iv_name = 'VSEOCLASS' ig_data = ls_vseoclass ). @@ -729,7 +730,8 @@ CLASS zcl_abapgit_object_clas IMPLEMENTATION. WHERE id = 'CL' AND object = ls_clskey-clsname AND langu IN lt_language_filter - AND langu <> mv_language. + AND langu <> mv_language + ORDER BY langu. serialize_docu( ii_xml = ii_xml iv_clsname = ls_clskey-clsname diff --git a/src/objects/zcl_abapgit_object_devc.clas.abap b/src/objects/zcl_abapgit_object_devc.clas.abap index 8abd30247..114abfd55 100644 --- a/src/objects/zcl_abapgit_object_devc.clas.abap +++ b/src/objects/zcl_abapgit_object_devc.clas.abap @@ -159,7 +159,9 @@ CLASS zcl_abapgit_object_devc IMPLEMENTATION. ENDIF. " Clean-up sub packages first - SELECT devclass FROM tdevc INTO TABLE lt_pack WHERE parentcl = iv_package_name. + SELECT devclass FROM tdevc INTO TABLE lt_pack + WHERE parentcl = iv_package_name + ORDER BY PRIMARY KEY. LOOP AT lt_pack INTO lv_pack. remove_obsolete_tadir( lv_pack ). @@ -167,7 +169,8 @@ CLASS zcl_abapgit_object_devc IMPLEMENTATION. " Remove TADIR entries for objects that do not exist anymore SELECT * FROM tadir INTO CORRESPONDING FIELDS OF TABLE lt_tadir - WHERE devclass = iv_package_name ##TOO_MANY_ITAB_FIELDS. + WHERE devclass = iv_package_name + ORDER BY PRIMARY KEY ##TOO_MANY_ITAB_FIELDS. LOOP AT lt_tadir INTO ls_tadir. ls_item-obj_type = ls_tadir-object. diff --git a/src/objects/zcl_abapgit_object_fugr.clas.abap b/src/objects/zcl_abapgit_object_fugr.clas.abap index 93bcfbebf..c5dd1c881 100644 --- a/src/objects/zcl_abapgit_object_fugr.clas.abap +++ b/src/objects/zcl_abapgit_object_fugr.clas.abap @@ -985,7 +985,8 @@ CLASS zcl_abapgit_object_fugr IMPLEMENTATION. FROM d010tinf WHERE r3state = 'A' AND prog = iv_prog_name - AND language <> mv_language ##TOO_MANY_ITAB_FIELDS. + AND language <> mv_language + ORDER BY language ##TOO_MANY_ITAB_FIELDS. mo_i18n_params->trim_saplang_keyed_table( EXPORTING @@ -1037,8 +1038,7 @@ CLASS zcl_abapgit_object_fugr IMPLEMENTATION. " FORM GROUP_CHANGE UPDATE tlibt SET areat = iv_short_text - WHERE spras = mv_language - AND area = iv_group. + WHERE spras = mv_language AND area = iv_group. ENDMETHOD. @@ -1121,26 +1121,29 @@ CLASS zcl_abapgit_object_fugr IMPLEMENTATION. SELECT unam AS user udat AS date utime AS time FROM reposrc APPENDING CORRESPONDING FIELDS OF TABLE lt_stamps WHERE progname = lv_program - AND r3state = 'A'. "#EC CI_SUBRC + AND r3state = 'A' + ORDER BY PRIMARY KEY. "#EC CI_SUBRC IF mt_includes_all IS NOT INITIAL AND lv_found = abap_false. SELECT unam AS user udat AS date utime AS time FROM reposrc APPENDING CORRESPONDING FIELDS OF TABLE lt_stamps FOR ALL ENTRIES IN mt_includes_all WHERE progname = mt_includes_all-table_line - AND r3state = 'A'. "#EC CI_SUBRC + AND r3state = 'A'. "#EC CI_SUBRC ENDIF. SELECT unam AS user udat AS date utime AS time FROM repotext " Program text pool APPENDING CORRESPONDING FIELDS OF TABLE lt_stamps WHERE progname = lv_program - AND r3state = 'A'. "#EC CI_SUBRC + AND r3state = 'A' + ORDER BY PRIMARY KEY. "#EC CI_SUBRC SELECT vautor AS user vdatum AS date vzeit AS time FROM eudb " GUI APPENDING CORRESPONDING FIELDS OF TABLE lt_stamps WHERE relid = 'CU' - AND name = lv_program - AND srtf2 = 0 ##TOO_MANY_ITAB_FIELDS. + AND name = lv_program + AND srtf2 = 0 + ORDER BY PRIMARY KEY ##TOO_MANY_ITAB_FIELDS. * Screens: username not stored in D020S database table diff --git a/src/objects/zcl_abapgit_object_intf.clas.abap b/src/objects/zcl_abapgit_object_intf.clas.abap index 8b5a7be8c..efae9bfc8 100644 --- a/src/objects/zcl_abapgit_object_intf.clas.abap +++ b/src/objects/zcl_abapgit_object_intf.clas.abap @@ -34,7 +34,6 @@ CLASS zcl_abapgit_object_intf DEFINITION PUBLIC FINAL INHERITING FROM zcl_abapgi zcx_abapgit_exception . METHODS serialize_docu IMPORTING - !ii_xml TYPE REF TO zif_abapgit_xml_output !it_langu_additional TYPE zif_abapgit_lang_definitions=>ty_langus OPTIONAL !iv_clsname TYPE seoclsname RETURNING VALUE(rs_docu) TYPE ty_docu @@ -42,14 +41,12 @@ CLASS zcl_abapgit_object_intf DEFINITION PUBLIC FINAL INHERITING FROM zcl_abapgi zcx_abapgit_exception. METHODS serialize_descr IMPORTING - !ii_xml TYPE REF TO zif_abapgit_xml_output !iv_clsname TYPE seoclsname RETURNING VALUE(rs_description) TYPE ty_intf-description RAISING zcx_abapgit_exception. METHODS serialize_descr_sub IMPORTING - !ii_xml TYPE REF TO zif_abapgit_xml_output !iv_clsname TYPE seoclsname RETURNING VALUE(rs_description) TYPE ty_intf-description_sub RAISING @@ -256,7 +253,7 @@ CLASS zcl_abapgit_object_intf IMPLEMENTATION. DATA ls_intf_aff TYPE zif_abapgit_aff_intf_v1=>ty_main. DATA lo_aff_mapper TYPE REF TO zif_abapgit_aff_type_mapping. - lv_json_data = zif_abapgit_object~mo_files->read_raw( iv_ext = 'json' ). + lv_json_data = zif_abapgit_object~mo_files->read_raw( 'json' ). ls_intf_aff = lcl_aff_metadata_handler=>deserialize( lv_json_data ). CREATE OBJECT lo_aff_mapper TYPE lcl_aff_type_mapping. @@ -397,17 +394,15 @@ CLASS zcl_abapgit_object_intf IMPLEMENTATION. FROM dokhl WHERE id = c_longtext_id-interface AND object = ls_clskey-clsname - AND langu <> mv_language. + AND langu <> mv_language + ORDER BY langu. ls_intf-docu = serialize_docu( - ii_xml = io_xml iv_clsname = ls_clskey-clsname it_langu_additional = lt_langu_additional ). - ls_intf-description = serialize_descr( ii_xml = io_xml - iv_clsname = ls_clskey-clsname ). - ls_intf-description_sub = serialize_descr_sub( ii_xml = io_xml - iv_clsname = ls_clskey-clsname ). + ls_intf-description = serialize_descr( ls_clskey-clsname ). + ls_intf-description_sub = serialize_descr_sub( ls_clskey-clsname ). " HERE: switch with feature flag for XML or JSON file format IF mv_aff_enabled = abap_true. @@ -539,9 +534,9 @@ CLASS zcl_abapgit_object_intf IMPLEMENTATION. iv_version = ls_intf-vseointerf-unicode it_source = lt_source ). - deserialize_descriptions( it_description = ls_intf-description ). + deserialize_descriptions( ls_intf-description ). - deserialize_descr_sub( it_description = ls_intf-description_sub ). + deserialize_descr_sub( ls_intf-description_sub ). deserialize_docu( is_docu = ls_intf-docu diff --git a/src/objects/zcl_abapgit_object_intf.clas.testclasses.abap b/src/objects/zcl_abapgit_object_intf.clas.testclasses.abap index 9ca34e9cf..ccfe77880 100644 --- a/src/objects/zcl_abapgit_object_intf.clas.testclasses.abap +++ b/src/objects/zcl_abapgit_object_intf.clas.testclasses.abap @@ -27,16 +27,15 @@ CLASS lth_oo_object_fnc IMPLEMENTATION. ENDMETHOD. METHOD zif_abapgit_oo_object_fnc~create. - mv_create_package = iv_package. + mv_create_package = iv_package. ms_create_vseointerf = cg_properties. ENDMETHOD. METHOD zif_abapgit_oo_object_fnc~create_documentation. - mt_docu_lines = it_lines. - mv_docu_id = iv_id. + mt_docu_lines = it_lines. + mv_docu_id = iv_id. mv_docu_object_name = iv_object_name. - mv_docu_langu = iv_language. - + mv_docu_langu = iv_language. ENDMETHOD. METHOD zif_abapgit_oo_object_fnc~create_sotr. @@ -48,7 +47,7 @@ CLASS lth_oo_object_fnc IMPLEMENTATION. ENDMETHOD. METHOD zif_abapgit_oo_object_fnc~deserialize_source. - ms_deserialize_key = is_key. + ms_deserialize_key = is_key. mt_deserialize_source = it_source. ENDMETHOD. @@ -99,7 +98,7 @@ CLASS lth_oo_object_fnc IMPLEMENTATION. METHOD zif_abapgit_oo_object_fnc~update_descriptions. ms_descriptions_key = is_key. - mt_descriptions = it_descriptions. + mt_descriptions = it_descriptions. ENDMETHOD. METHOD zif_abapgit_oo_object_fnc~update_descriptions_sub. diff --git a/src/objects/zcl_abapgit_object_prog.clas.abap b/src/objects/zcl_abapgit_object_prog.clas.abap index 4914fc6ac..2ec023bcb 100644 --- a/src/objects/zcl_abapgit_object_prog.clas.abap +++ b/src/objects/zcl_abapgit_object_prog.clas.abap @@ -125,7 +125,8 @@ CLASS zcl_abapgit_object_prog IMPLEMENTATION. WHERE r3state = 'A' AND prog = ms_item-obj_name AND language <> mv_language - AND language IN lt_language_filter ##TOO_MANY_ITAB_FIELDS. + AND language IN lt_language_filter + ORDER BY language ##TOO_MANY_ITAB_FIELDS. SORT lt_tpool_i18n BY language ASCENDING. LOOP AT lt_tpool_i18n ASSIGNING . diff --git a/src/objects/zcl_abapgit_objects_super.clas.abap b/src/objects/zcl_abapgit_objects_super.clas.abap index 74326b75b..24d4347eb 100644 --- a/src/objects/zcl_abapgit_objects_super.clas.abap +++ b/src/objects/zcl_abapgit_objects_super.clas.abap @@ -77,9 +77,9 @@ CLASS zcl_abapgit_objects_super DEFINITION zcx_abapgit_exception . METHODS delete_ddic IMPORTING - VALUE(iv_objtype) TYPE string - VALUE(iv_no_ask) TYPE abap_bool DEFAULT abap_true - VALUE(iv_no_ask_delete_append) TYPE abap_bool DEFAULT abap_false + !iv_objtype TYPE string + !iv_no_ask TYPE abap_bool DEFAULT abap_true + !iv_no_ask_delete_append TYPE abap_bool DEFAULT abap_false RAISING zcx_abapgit_exception . METHODS set_abap_language_version @@ -209,8 +209,8 @@ CLASS zcl_abapgit_objects_super IMPLEMENTATION. METHOD delete_longtexts. zcl_abapgit_factory=>get_longtexts( )->delete( - iv_longtext_id = iv_longtext_id - iv_object_name = ms_item-obj_name ). + iv_longtext_id = iv_longtext_id + iv_object_name = ms_item-obj_name ). ENDMETHOD. @@ -288,12 +288,12 @@ CLASS zcl_abapgit_objects_super IMPLEMENTATION. METHOD serialize_longtexts. zcl_abapgit_factory=>get_longtexts( )->serialize( - iv_object_name = ms_item-obj_name - iv_longtext_name = iv_longtext_name - iv_longtext_id = iv_longtext_id - it_dokil = it_dokil - io_i18n_params = mo_i18n_params - ii_xml = ii_xml ). + iv_object_name = ms_item-obj_name + iv_longtext_name = iv_longtext_name + iv_longtext_id = iv_longtext_id + it_dokil = it_dokil + io_i18n_params = mo_i18n_params + ii_xml = ii_xml ). ENDMETHOD.