From a23c1d6d58b9464ffdc1564a4565be6142b9fbd1 Mon Sep 17 00:00:00 2001 From: Marc Bernard <59966492+mbtools@users.noreply.github.com> Date: Thu, 5 Dec 2024 11:35:53 -0500 Subject: [PATCH 01/17] Fix extended check issues - Part 3 (#7088) Co-authored-by: Lars Hvam --- src/objects/core/zcl_abapgit_dependencies.clas.abap | 2 +- .../core/zcl_abapgit_objects_activation.clas.abap | 4 ++-- src/objects/ecatt/zcl_abapgit_ecatt_helper.clas.abap | 2 +- .../ecatt/zcl_abapgit_ecatt_sp_download.clas.abap | 4 ++-- .../ecatt/zcl_abapgit_ecatt_sp_upload.clas.abap | 10 ++++------ src/objects/enh/zcl_abapgit_object_enho_clif.clas.abap | 2 +- src/objects/oo/zcl_abapgit_oo_class.clas.abap | 5 ++--- src/objects/oo/zcl_abapgit_oo_interface.clas.abap | 5 ++--- src/objects/oo/zcl_abapgit_oo_serializer.clas.abap | 2 +- src/objects/sap/zcl_abapgit_sap_report.clas.abap | 4 ++-- 10 files changed, 18 insertions(+), 22 deletions(-) diff --git a/src/objects/core/zcl_abapgit_dependencies.clas.abap b/src/objects/core/zcl_abapgit_dependencies.clas.abap index 2d76f2320..3c6c3523a 100644 --- a/src/objects/core/zcl_abapgit_dependencies.clas.abap +++ b/src/objects/core/zcl_abapgit_dependencies.clas.abap @@ -61,7 +61,7 @@ CLASS zcl_abapgit_dependencies IMPLEMENTATION. INSERT ls_ddls_name INTO TABLE lt_ddls_name. PERFORM ('DDLS_GET_DEP') IN PROGRAM ('RADMASDL') - TABLES lt_ddls_name rt_dependency. + TABLES lt_ddls_name rt_dependency ##PERF_NO_FORM. ENDMETHOD. diff --git a/src/objects/core/zcl_abapgit_objects_activation.clas.abap b/src/objects/core/zcl_abapgit_objects_activation.clas.abap index 833f456b7..09d549be6 100644 --- a/src/objects/core/zcl_abapgit_objects_activation.clas.abap +++ b/src/objects/core/zcl_abapgit_objects_activation.clas.abap @@ -310,7 +310,7 @@ CLASS zcl_abapgit_objects_activation IMPLEMENTATION. excecution_error = 1 cancelled = 2 insert_into_corr_error = 3 - OTHERS = 4 ##SUBRC_OK. + OTHERS = 4 ##FM_SUBRC_OK. CATCH cx_sy_dyn_call_param_not_found. CALL FUNCTION 'RS_WORKING_OBJECTS_ACTIVATE' EXPORTING @@ -324,7 +324,7 @@ CLASS zcl_abapgit_objects_activation IMPLEMENTATION. excecution_error = 1 cancelled = 2 insert_into_corr_error = 3 - OTHERS = 4 ##SUBRC_OK. + OTHERS = 4 ##FM_SUBRC_OK. ENDTRY. CASE sy-subrc. WHEN 1 OR 3 OR 4. diff --git a/src/objects/ecatt/zcl_abapgit_ecatt_helper.clas.abap b/src/objects/ecatt/zcl_abapgit_ecatt_helper.clas.abap index e4244297e..a6768c13e 100644 --- a/src/objects/ecatt/zcl_abapgit_ecatt_helper.clas.abap +++ b/src/objects/ecatt/zcl_abapgit_ecatt_helper.clas.abap @@ -66,7 +66,7 @@ CLASS zcl_abapgit_ecatt_helper IMPLEMENTATION. lv_text = lx_ecatt->get_text( ). zcx_abapgit_exception=>raise( lv_text ). " note, exception cx_ecatt_ui_attachment doesn't exist in 702 - CATCH cx_ecatt. + CATCH cx_ecatt ##NO_HANDLER. "will never be raised from download, when called with mv_generate_xml_no_download = 'X'. ENDTRY. diff --git a/src/objects/ecatt/zcl_abapgit_ecatt_sp_download.clas.abap b/src/objects/ecatt/zcl_abapgit_ecatt_sp_download.clas.abap index 03b6a0eeb..175e3544a 100644 --- a/src/objects/ecatt/zcl_abapgit_ecatt_sp_download.clas.abap +++ b/src/objects/ecatt/zcl_abapgit_ecatt_sp_download.clas.abap @@ -25,7 +25,7 @@ ENDCLASS. -CLASS ZCL_ABAPGIT_ECATT_SP_DOWNLOAD IMPLEMENTATION. +CLASS zcl_abapgit_ecatt_sp_download IMPLEMENTATION. METHOD download. @@ -93,7 +93,7 @@ CLASS ZCL_ABAPGIT_ECATT_SP_DOWNLOAD IMPLEMENTATION. CALL METHOD lo_ecatt_sp->('GET_SP_ATTRIBUTES') IMPORTING e_sp_xml = lv_sp_xml. - CATCH cx_ecatt_apl. + CATCH cx_ecatt_apl ##NO_HANDLER. ENDTRY. CALL FUNCTION 'SDIXML_XML_TO_DOM' diff --git a/src/objects/ecatt/zcl_abapgit_ecatt_sp_upload.clas.abap b/src/objects/ecatt/zcl_abapgit_ecatt_sp_upload.clas.abap index fab1f31f8..2874dfbf7 100644 --- a/src/objects/ecatt/zcl_abapgit_ecatt_sp_upload.clas.abap +++ b/src/objects/ecatt/zcl_abapgit_ecatt_sp_upload.clas.abap @@ -27,7 +27,7 @@ ENDCLASS. -CLASS ZCL_ABAPGIT_ECATT_SP_UPLOAD IMPLEMENTATION. +CLASS zcl_abapgit_ecatt_sp_upload IMPLEMENTATION. METHOD get_ecatt_sp. @@ -129,7 +129,6 @@ CLASS ZCL_ABAPGIT_ECATT_SP_UPLOAD IMPLEMENTATION. ENDTRY. ASSIGN ecatt_object TO . - ASSERT sy-subrc = 0. lo_ecatt_sp = . @@ -162,13 +161,12 @@ CLASS ZCL_ABAPGIT_ECATT_SP_UPLOAD IMPLEMENTATION. CATCH cx_ecatt_apl INTO lx_ecatt. lv_exc_occ = 'X'. ENDTRY. -* Devesh,C5129871 18.07.2011 Releasing enqueue after uploading -*begin + " Releasing enqueue after uploading TRY. ecatt_object->close_object( im_suppress_events = 'X' ). - CATCH cx_ecatt_apl INTO lx_ecatt. + CATCH cx_ecatt_apl INTO lx_ecatt ##NO_HANDLER. ENDTRY. -*end + * get devclass from existing object TRY. cl_apl_ecatt_object=>get_tadir_entry( diff --git a/src/objects/enh/zcl_abapgit_object_enho_clif.clas.abap b/src/objects/enh/zcl_abapgit_object_enho_clif.clas.abap index 7eceedf0b..206100054 100644 --- a/src/objects/enh/zcl_abapgit_object_enho_clif.clas.abap +++ b/src/objects/enh/zcl_abapgit_object_enho_clif.clas.abap @@ -62,7 +62,7 @@ CLASS zcl_abapgit_object_enho_clif IMPLEMENTATION. TRY. io_clif->add_change_enha_type( type_line = ls_type_line ). CATCH cx_enh_mod_not_allowed - cx_enh_is_not_enhanceable. + cx_enh_is_not_enhanceable ##NO_HANDLER. " TODO ENDTRY. ENDLOOP. diff --git a/src/objects/oo/zcl_abapgit_oo_class.clas.abap b/src/objects/oo/zcl_abapgit_oo_class.clas.abap index 7d7091a3b..ad60369bb 100644 --- a/src/objects/oo/zcl_abapgit_oo_class.clas.abap +++ b/src/objects/oo/zcl_abapgit_oo_class.clas.abap @@ -611,7 +611,7 @@ CLASS zcl_abapgit_oo_class IMPLEMENTATION. component_error = 4 no_access = 5 other = 6 - OTHERS = 7. + OTHERS = 7 ##FM_SUBRC_OK. CATCH cx_sy_dyn_call_param_not_found. CALL FUNCTION 'SEO_CLASS_CREATE_COMPLETE' EXPORTING @@ -628,7 +628,7 @@ CLASS zcl_abapgit_oo_class IMPLEMENTATION. component_error = 4 no_access = 5 other = 6 - OTHERS = 7. + OTHERS = 7 ##FM_SUBRC_OK. ENDTRY. IF sy-subrc <> 0. zcx_abapgit_exception=>raise_t100( ). @@ -998,5 +998,4 @@ CLASS zcl_abapgit_oo_class IMPLEMENTATION. zcx_abapgit_exception=>raise( |Class { ls_clskey-clsname } has syntax errors | ). ENDIF. ENDMETHOD. - ENDCLASS. diff --git a/src/objects/oo/zcl_abapgit_oo_interface.clas.abap b/src/objects/oo/zcl_abapgit_oo_interface.clas.abap index a4852bee2..2715e70ac 100644 --- a/src/objects/oo/zcl_abapgit_oo_interface.clas.abap +++ b/src/objects/oo/zcl_abapgit_oo_interface.clas.abap @@ -212,7 +212,7 @@ CLASS zcl_abapgit_oo_interface IMPLEMENTATION. component_error = 4 no_access = 5 other = 6 - OTHERS = 7. + OTHERS = 7 ##FM_SUBRC_OK. CATCH cx_sy_dyn_call_param_not_found. CALL FUNCTION 'SEO_INTERFACE_CREATE_COMPLETE' EXPORTING @@ -229,7 +229,7 @@ CLASS zcl_abapgit_oo_interface IMPLEMENTATION. component_error = 4 no_access = 5 other = 6 - OTHERS = 7. + OTHERS = 7 ##FM_SUBRC_OK. ENDTRY. IF sy-subrc <> 0. zcx_abapgit_exception=>raise_t100( ). @@ -368,5 +368,4 @@ CLASS zcl_abapgit_oo_interface IMPLEMENTATION. zcx_abapgit_exception=>raise( |Interface { ls_intkey-clsname } has syntax errors | ). ENDIF. ENDMETHOD. - ENDCLASS. diff --git a/src/objects/oo/zcl_abapgit_oo_serializer.clas.abap b/src/objects/oo/zcl_abapgit_oo_serializer.clas.abap index d90d1fc6f..bf55ef56a 100644 --- a/src/objects/oo/zcl_abapgit_oo_serializer.clas.abap +++ b/src/objects/oo/zcl_abapgit_oo_serializer.clas.abap @@ -151,7 +151,7 @@ CLASS zcl_abapgit_oo_serializer IMPLEMENTATION. lv_program = ls_include. TRY. lt_source = zcl_abapgit_factory=>get_sap_report( )->read_report( lv_program ). - CATCH zcx_abapgit_exception. + CATCH zcx_abapgit_exception ##NO_HANDLER. * ignore if the report is not found, sometimes the CCDEF include does not exist ENDTRY. rt_source = lt_source. diff --git a/src/objects/sap/zcl_abapgit_sap_report.clas.abap b/src/objects/sap/zcl_abapgit_sap_report.clas.abap index 4f0bfaa2c..4f229d659 100644 --- a/src/objects/sap/zcl_abapgit_sap_report.clas.abap +++ b/src/objects/sap/zcl_abapgit_sap_report.clas.abap @@ -47,7 +47,7 @@ CLASS zcl_abapgit_sap_report IMPLEMENTATION. no_show_permission = 7 permission_failure = 8 request_language_denied = 9 - OTHERS = 10. + OTHERS = 10 ##FM_SUBRC_OK. CATCH cx_sy_dyn_call_param_not_found. CALL FUNCTION 'RS_ACCESS_PERMISSION' EXPORTING @@ -67,7 +67,7 @@ CLASS zcl_abapgit_sap_report IMPLEMENTATION. no_show_permission = 7 permission_failure = 8 request_language_denied = 9 - OTHERS = 10. + OTHERS = 10 ##FM_SUBRC_OK. ENDTRY. IF sy-subrc <> 0. zcx_abapgit_exception=>raise_t100( ). From 03dfdb072cdeba89747b1dd5625094e27ff05003 Mon Sep 17 00:00:00 2001 From: Marc Bernard <59966492+mbtools@users.noreply.github.com> Date: Thu, 5 Dec 2024 11:41:31 -0500 Subject: [PATCH 02/17] Fix extended check issues - Part 4 (#7089) Co-authored-by: Lars Hvam --- src/ui/core/zcl_abapgit_gui.clas.abap | 4 ++-- src/ui/lib/zcl_abapgit_gui_chunk_lib.clas.abap | 4 ++-- src/ui/lib/zcl_abapgit_gui_page_hoc.clas.abap | 10 +++++----- .../codi/zcl_abapgit_gui_page_codi_base.clas.abap | 6 +++--- .../sett/zcl_abapgit_gui_page_sett_pers.clas.abap | 2 +- src/ui/pages/zcl_abapgit_gui_page_stage.clas.abap | 6 +++--- src/ui/zcl_abapgit_popups.clas.locals_imp.abap | 2 +- 7 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/ui/core/zcl_abapgit_gui.clas.abap b/src/ui/core/zcl_abapgit_gui.clas.abap index ef5e6f477..9c9b5bfe2 100644 --- a/src/ui/core/zcl_abapgit_gui.clas.abap +++ b/src/ui/core/zcl_abapgit_gui.clas.abap @@ -115,7 +115,7 @@ ENDCLASS. -CLASS ZCL_ABAPGIT_GUI IMPLEMENTATION. +CLASS zcl_abapgit_gui IMPLEMENTATION. METHOD back. @@ -373,7 +373,7 @@ CLASS ZCL_ABAPGIT_GUI IMPLEMENTATION. li_modal ?= ii_page. rv_yes = li_modal->is_modal( ). ENDIF. - CATCH cx_sy_move_cast_error. + CATCH cx_sy_move_cast_error ##NO_HANDLER. ENDTRY. ENDMETHOD. diff --git a/src/ui/lib/zcl_abapgit_gui_chunk_lib.clas.abap b/src/ui/lib/zcl_abapgit_gui_chunk_lib.clas.abap index fe330fbeb..85babc732 100644 --- a/src/ui/lib/zcl_abapgit_gui_chunk_lib.clas.abap +++ b/src/ui/lib/zcl_abapgit_gui_chunk_lib.clas.abap @@ -243,7 +243,7 @@ ENDCLASS. -CLASS ZCL_ABAPGIT_GUI_CHUNK_LIB IMPLEMENTATION. +CLASS zcl_abapgit_gui_chunk_lib IMPLEMENTATION. METHOD class_constructor. @@ -261,7 +261,7 @@ CLASS ZCL_ABAPGIT_GUI_CHUNK_LIB IMPLEMENTATION. timezone = gv_time_zone EXCEPTIONS customizing_missing = 1 - OTHERS = 2. + OTHERS = 2 ##FM_SUBRC_OK. ENDTRY. ENDMETHOD. diff --git a/src/ui/lib/zcl_abapgit_gui_page_hoc.clas.abap b/src/ui/lib/zcl_abapgit_gui_page_hoc.clas.abap index 2a8ae8e53..ff2d8b1c9 100644 --- a/src/ui/lib/zcl_abapgit_gui_page_hoc.clas.abap +++ b/src/ui/lib/zcl_abapgit_gui_page_hoc.clas.abap @@ -54,7 +54,7 @@ ENDCLASS. -CLASS ZCL_ABAPGIT_GUI_PAGE_HOC IMPLEMENTATION. +CLASS zcl_abapgit_gui_page_hoc IMPLEMENTATION. METHOD constructor. @@ -96,14 +96,14 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_HOC IMPLEMENTATION. IF ls_control-page_menu_provider IS NOT BOUND. " try component itself TRY. ls_control-page_menu_provider ?= ii_child_component. - CATCH cx_sy_move_cast_error. + CATCH cx_sy_move_cast_error ##NO_HANDLER. ENDTRY. ENDIF. IF ls_control-page_title_provider IS NOT BOUND. " try component itself TRY. ls_control-page_title_provider ?= ii_child_component. - CATCH cx_sy_move_cast_error. + CATCH cx_sy_move_cast_error ##NO_HANDLER. ENDTRY. ENDIF. @@ -132,7 +132,7 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_HOC IMPLEMENTATION. TRY. li_modal ?= mi_child. rv_is_modal = li_modal->is_modal( ). - CATCH cx_sy_move_cast_error. + CATCH cx_sy_move_cast_error ##NO_HANDLER. ENDTRY. ENDMETHOD. @@ -141,7 +141,7 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_HOC IMPLEMENTATION. METHOD detect_title_provider. TRY. ri_ref ?= mi_child. - CATCH cx_sy_move_cast_error. + CATCH cx_sy_move_cast_error ##NO_HANDLER. ENDTRY. ENDMETHOD. diff --git a/src/ui/pages/codi/zcl_abapgit_gui_page_codi_base.clas.abap b/src/ui/pages/codi/zcl_abapgit_gui_page_codi_base.clas.abap index 4a18a629b..822f53c53 100644 --- a/src/ui/pages/codi/zcl_abapgit_gui_page_codi_base.clas.abap +++ b/src/ui/pages/codi/zcl_abapgit_gui_page_codi_base.clas.abap @@ -127,7 +127,7 @@ ENDCLASS. -CLASS ZCL_ABAPGIT_GUI_PAGE_CODI_BASE IMPLEMENTATION. +CLASS zcl_abapgit_gui_page_codi_base IMPLEMENTATION. METHOD apply_filter_kind. @@ -256,7 +256,7 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_CODI_BASE IMPLEMENTATION. ENDIF. ENDCASE. - CATCH cx_root. + CATCH cx_root ##NO_HANDLER. " leave empty, fallback to default, defined elsewhere ENDTRY. @@ -340,7 +340,7 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_CODI_BASE IMPLEMENTATION. RETURN. ENDIF. - CATCH zcx_abapgit_exception. + CATCH zcx_abapgit_exception ##NO_HANDLER. ENDTRY. TRY. diff --git a/src/ui/pages/sett/zcl_abapgit_gui_page_sett_pers.clas.abap b/src/ui/pages/sett/zcl_abapgit_gui_page_sett_pers.clas.abap index 7e1209753..71f423278 100644 --- a/src/ui/pages/sett/zcl_abapgit_gui_page_sett_pers.clas.abap +++ b/src/ui/pages/sett/zcl_abapgit_gui_page_sett_pers.clas.abap @@ -317,7 +317,7 @@ CLASS zcl_abapgit_gui_page_sett_pers IMPLEMENTATION. lo_colors->set( iv_key = lv_l iv_val = lv_l ). - CATCH zcx_abapgit_exception. + CATCH zcx_abapgit_exception ##NO_HANDLER. ENDTRY. ENDLOOP. diff --git a/src/ui/pages/zcl_abapgit_gui_page_stage.clas.abap b/src/ui/pages/zcl_abapgit_gui_page_stage.clas.abap index 79c55fd92..9f4dba922 100644 --- a/src/ui/pages/zcl_abapgit_gui_page_stage.clas.abap +++ b/src/ui/pages/zcl_abapgit_gui_page_stage.clas.abap @@ -137,7 +137,7 @@ ENDCLASS. -CLASS ZCL_ABAPGIT_GUI_PAGE_STAGE IMPLEMENTATION. +CLASS zcl_abapgit_gui_page_stage IMPLEMENTATION. METHOD check_selected. @@ -281,7 +281,7 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_STAGE IMPLEMENTATION. es_item = ls_item ). ls_changed_by-item = ls_item. INSERT ls_changed_by INTO TABLE lt_changed_by_remote. - CATCH zcx_abapgit_exception. + CATCH zcx_abapgit_exception ##NO_HANDLER. ENDTRY. ENDLOOP. @@ -348,7 +348,7 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_STAGE IMPLEMENTATION. rt_transports = li_cts_api->get_transports_for_list( lt_items ). - CATCH zcx_abapgit_exception. + CATCH zcx_abapgit_exception ##NO_HANDLER. ENDTRY. ENDMETHOD. diff --git a/src/ui/zcl_abapgit_popups.clas.locals_imp.abap b/src/ui/zcl_abapgit_popups.clas.locals_imp.abap index 5facf3f92..1bbfcc52a 100644 --- a/src/ui/zcl_abapgit_popups.clas.locals_imp.abap +++ b/src/ui/zcl_abapgit_popups.clas.locals_imp.abap @@ -248,7 +248,7 @@ CLASS lcl_object_decision_list IMPLEMENTATION. TRY. lo_columns->get_column( |{ c_fieldname_obj_type }| ). lv_object_list = abap_true. - CATCH cx_salv_not_found. + CATCH cx_salv_not_found ##NO_HANDLER. ENDTRY. setup_columns( From c266a4826caa151aee08091e57ccb2deea4d5251 Mon Sep 17 00:00:00 2001 From: Marc Bernard <59966492+mbtools@users.noreply.github.com> Date: Thu, 5 Dec 2024 11:45:22 -0500 Subject: [PATCH 03/17] Fix extended check issues - Part 5 (#7090) Co-authored-by: Lars Hvam --- .../zcl_abapgit_popup_branch_list.clas.abap | 34 +++++++++---------- .../zcl_abapgit_popup_code_insp.clas.abap | 3 +- .../zcl_abapgit_popup_pull_request.clas.abap | 1 - .../zcl_abapgit_popup_tag_list.clas.abap | 30 ++++++++-------- 4 files changed, 33 insertions(+), 35 deletions(-) diff --git a/src/ui/popups/zcl_abapgit_popup_branch_list.clas.abap b/src/ui/popups/zcl_abapgit_popup_branch_list.clas.abap index 7e6d5e8c3..232395a02 100644 --- a/src/ui/popups/zcl_abapgit_popup_branch_list.clas.abap +++ b/src/ui/popups/zcl_abapgit_popup_branch_list.clas.abap @@ -22,6 +22,7 @@ CLASS zcl_abapgit_popup_branch_list DEFINITION !iv_default_branch TYPE string OPTIONAL !iv_show_new_option TYPE abap_bool DEFAULT abap_false. + PROTECTED SECTION. PRIVATE SECTION. DATA mv_repo_url TYPE string. @@ -41,15 +42,6 @@ ENDCLASS. CLASS zcl_abapgit_popup_branch_list IMPLEMENTATION. - METHOD create. - CREATE OBJECT ri_popup TYPE zcl_abapgit_popup_branch_list - EXPORTING - iv_url = iv_url - iv_default_branch = iv_default_branch - iv_show_new_option = iv_show_new_option. - ENDMETHOD. - - METHOD constructor. mv_repo_url = iv_url. mv_default_branch = zif_abapgit_git_definitions=>c_git_branch-heads_prefix && iv_default_branch. @@ -57,14 +49,12 @@ CLASS zcl_abapgit_popup_branch_list IMPLEMENTATION. ENDMETHOD. - METHOD zif_abapgit_html_popup~create_picklist. - - CREATE OBJECT ro_picklist + METHOD create. + CREATE OBJECT ri_popup TYPE zcl_abapgit_popup_branch_list EXPORTING - iv_title = 'Choose Branch' - it_list = fetch_branch_list( ) - ii_item_renderer = me. - + iv_url = iv_url + iv_default_branch = iv_default_branch + iv_show_new_option = iv_show_new_option. ENDMETHOD. @@ -109,7 +99,6 @@ CLASS zcl_abapgit_popup_branch_list IMPLEMENTATION. FIELD-SYMBOLS TYPE zif_abapgit_git_definitions=>ty_git_branch. ASSIGN iv_item TO . - ASSERT sy-subrc = 0. " TODO render mv_default_branch properly, needs respecting support from the picklist components @@ -120,4 +109,15 @@ CLASS zcl_abapgit_popup_branch_list IMPLEMENTATION. ri_html = zcl_abapgit_html=>create( |{ -display_name }{ lv_head_marker }| ). ENDMETHOD. + + + METHOD zif_abapgit_html_popup~create_picklist. + + CREATE OBJECT ro_picklist + EXPORTING + iv_title = 'Choose Branch' + it_list = fetch_branch_list( ) + ii_item_renderer = me. + + ENDMETHOD. ENDCLASS. diff --git a/src/ui/popups/zcl_abapgit_popup_code_insp.clas.abap b/src/ui/popups/zcl_abapgit_popup_code_insp.clas.abap index 4e39b9984..09b14720c 100644 --- a/src/ui/popups/zcl_abapgit_popup_code_insp.clas.abap +++ b/src/ui/popups/zcl_abapgit_popup_code_insp.clas.abap @@ -24,7 +24,7 @@ ENDCLASS. -CLASS ZCL_ABAPGIT_POPUP_CODE_INSP IMPLEMENTATION. +CLASS zcl_abapgit_popup_code_insp IMPLEMENTATION. METHOD create. @@ -44,7 +44,6 @@ CLASS ZCL_ABAPGIT_POPUP_CODE_INSP IMPLEMENTATION. FIELD-SYMBOLS TYPE LINE OF zif_abapgit_code_inspector=>ty_variants. ASSIGN iv_item TO . - ASSERT sy-subrc = 0. ri_html = zcl_abapgit_html=>create( |{ -name } - { -description }| ). diff --git a/src/ui/popups/zcl_abapgit_popup_pull_request.clas.abap b/src/ui/popups/zcl_abapgit_popup_pull_request.clas.abap index e6ed9f72b..327550038 100644 --- a/src/ui/popups/zcl_abapgit_popup_pull_request.clas.abap +++ b/src/ui/popups/zcl_abapgit_popup_pull_request.clas.abap @@ -67,7 +67,6 @@ CLASS zcl_abapgit_popup_pull_request IMPLEMENTATION. FIELD-SYMBOLS TYPE zif_abapgit_pr_enum_provider=>ty_pull_request. ASSIGN iv_item TO . - ASSERT sy-subrc = 0. ri_html = zcl_abapgit_html=>create( |{ -number } - { -title } @{ -user }| ). diff --git a/src/ui/popups/zcl_abapgit_popup_tag_list.clas.abap b/src/ui/popups/zcl_abapgit_popup_tag_list.clas.abap index 85ecdb296..fb99de911 100644 --- a/src/ui/popups/zcl_abapgit_popup_tag_list.clas.abap +++ b/src/ui/popups/zcl_abapgit_popup_tag_list.clas.abap @@ -18,6 +18,7 @@ CLASS zcl_abapgit_popup_tag_list DEFINITION IMPORTING iv_url TYPE string. + PROTECTED SECTION. PRIVATE SECTION. DATA mv_repo_url TYPE string. @@ -34,26 +35,15 @@ ENDCLASS. CLASS zcl_abapgit_popup_tag_list IMPLEMENTATION. - METHOD create. - CREATE OBJECT ri_popup TYPE zcl_abapgit_popup_tag_list - EXPORTING - iv_url = iv_url. - ENDMETHOD. - - METHOD constructor. mv_repo_url = iv_url. ENDMETHOD. - METHOD zif_abapgit_html_popup~create_picklist. - - CREATE OBJECT ro_picklist + METHOD create. + CREATE OBJECT ri_popup TYPE zcl_abapgit_popup_tag_list EXPORTING - iv_title = 'Choose Tag' - it_list = fetch_tag_list( ) - ii_item_renderer = me. - + iv_url = iv_url. ENDMETHOD. @@ -80,9 +70,19 @@ CLASS zcl_abapgit_popup_tag_list IMPLEMENTATION. FIELD-SYMBOLS TYPE zif_abapgit_git_definitions=>ty_git_branch. ASSIGN iv_item TO . - ASSERT sy-subrc = 0. ri_html = zcl_abapgit_html=>create( |{ -display_name }| ). ENDMETHOD. + + + METHOD zif_abapgit_html_popup~create_picklist. + + CREATE OBJECT ro_picklist + EXPORTING + iv_title = 'Choose Tag' + it_list = fetch_tag_list( ) + ii_item_renderer = me. + + ENDMETHOD. ENDCLASS. From b835900776ac0b1bbe31d1cb77ee6be218528414 Mon Sep 17 00:00:00 2001 From: Marc Bernard <59966492+mbtools@users.noreply.github.com> Date: Thu, 5 Dec 2024 11:50:17 -0500 Subject: [PATCH 04/17] Fix extended check issues - Part 6 (#7091) Co-authored-by: Lars Hvam --- src/objects/tabl/zcl_abapgit_object_tabl_ddl.clas.abap | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/objects/tabl/zcl_abapgit_object_tabl_ddl.clas.abap b/src/objects/tabl/zcl_abapgit_object_tabl_ddl.clas.abap index ca9222106..4e9740f3c 100644 --- a/src/objects/tabl/zcl_abapgit_object_tabl_ddl.clas.abap +++ b/src/objects/tabl/zcl_abapgit_object_tabl_ddl.clas.abap @@ -103,7 +103,7 @@ ENDCLASS. -CLASS ZCL_ABAPGIT_OBJECT_TABL_DDL IMPLEMENTATION. +CLASS zcl_abapgit_object_tabl_ddl IMPLEMENTATION. METHOD deserialize. @@ -158,9 +158,9 @@ CLASS ZCL_ABAPGIT_OBJECT_TABL_DDL IMPLEMENTATION. start TYPE i VALUE 0, colon TYPE i VALUE 1, type TYPE i VALUE 2, - aftertype TYPE i VALUE 2, - null TYPE i VALUE 2, - afternull TYPE i VALUE 2, + aftertype TYPE i VALUE 3, + null TYPE i VALUE 4, + afternull TYPE i VALUE 5, END OF lc_mode. DATA lv_field TYPE string. From 697bc7f51dc1a65a91b336c64134bee321fecec6 Mon Sep 17 00:00:00 2001 From: Marc Bernard <59966492+mbtools@users.noreply.github.com> Date: Thu, 5 Dec 2024 11:53:17 -0500 Subject: [PATCH 05/17] Fix extended check issues - Part 7 (#7092) Co-authored-by: Lars Hvam --- src/objects/zcl_abapgit_object_iobj.clas.abap | 137 ++++++++++++------ 1 file changed, 92 insertions(+), 45 deletions(-) diff --git a/src/objects/zcl_abapgit_object_iobj.clas.abap b/src/objects/zcl_abapgit_object_iobj.clas.abap index ae70908a1..ed1d4f4da 100644 --- a/src/objects/zcl_abapgit_object_iobj.clas.abap +++ b/src/objects/zcl_abapgit_object_iobj.clas.abap @@ -61,7 +61,7 @@ CLASS zcl_abapgit_object_iobj IMPLEMENTATION. iobj_not_found = 1 illegal_input = 2 bct_comp_invalid = 3 - not_authorized = 4 +* not_authorized = 4 " not in lower releases OTHERS = 5. IF sy-subrc = 0. ASSIGN COMPONENT 'TSTPNM' OF STRUCTURE TO . @@ -200,36 +200,67 @@ CLASS zcl_abapgit_object_iobj IMPLEMENTATION. ASSERT sy-subrc = 0. IF zif_abapgit_object~exists( ) = abap_false. - CALL FUNCTION 'BAPI_IOBJ_CREATE' - EXPORTING - details = - IMPORTING - return = ls_return - TABLES - compounds = - attributes = - navigationattributes = - atrnavinfoprovider = - hierarchycharacteristics = - elimination = - hanafieldsmapping = - xxlattributes = . + TRY. + CALL FUNCTION 'BAPI_IOBJ_CREATE' + EXPORTING + details = + IMPORTING + return = ls_return + TABLES + compounds = + attributes = + navigationattributes = + atrnavinfoprovider = + hierarchycharacteristics = + elimination = + hanafieldsmapping = + xxlattributes = ##ARG_OK. + CATCH cx_sy_dyn_call_param_not_found. + CALL FUNCTION 'BAPI_IOBJ_CREATE' + EXPORTING + details = + IMPORTING + return = ls_return + TABLES + compounds = + attributes = + navigationattributes = + atrnavinfoprovider = + hierarchycharacteristics = + elimination = . + ENDTRY. ELSE. - CALL FUNCTION 'BAPI_IOBJ_CHANGE' - EXPORTING - infoobject = - details = - IMPORTING - return = ls_return - TABLES - compounds = - attributes = - navigationattributes = - atrnavinfoprovider = - hierarchycharacteristics = - elimination = - hanafieldsmapping = - xxlattributes = . + TRY. + CALL FUNCTION 'BAPI_IOBJ_CHANGE' + EXPORTING + infoobject = + details = + IMPORTING + return = ls_return + TABLES + compounds = + attributes = + navigationattributes = + atrnavinfoprovider = + hierarchycharacteristics = + elimination = + hanafieldsmapping = + xxlattributes = ##ARG_OK. + CATCH cx_sy_dyn_call_param_not_found. + CALL FUNCTION 'BAPI_IOBJ_CHANGE' + EXPORTING + infoobject = + details = + IMPORTING + return = ls_return + TABLES + compounds = + attributes = + navigationattributes = + atrnavinfoprovider = + hierarchycharacteristics = + elimination = . + ENDTRY. ENDIF. IF ls_return-type = 'E'. @@ -409,21 +440,37 @@ CLASS zcl_abapgit_object_iobj IMPLEMENTATION. lv_iobjnam = ms_item-obj_name. - CALL FUNCTION 'BAPI_IOBJ_GETDETAIL' - EXPORTING - infoobject = lv_iobjnam - IMPORTING - details = - return = ls_return - TABLES - compounds = - attributes = - navigationattributes = - atrnavinfoprovider = - hierarchycharacteristics = - elimination = - hanafieldsmapping = - xxlattributes = . + TRY. + CALL FUNCTION 'BAPI_IOBJ_GETDETAIL' + EXPORTING + infoobject = lv_iobjnam + IMPORTING + details = + return = ls_return + TABLES + compounds = + attributes = + navigationattributes = + atrnavinfoprovider = + hierarchycharacteristics = + elimination = + hanafieldsmapping = + xxlattributes = ##ARG_OK. + CATCH cx_sy_dyn_call_param_not_found. + CALL FUNCTION 'BAPI_IOBJ_GETDETAIL' + EXPORTING + infoobject = lv_iobjnam + IMPORTING + details = + return = ls_return + TABLES + compounds = + attributes = + navigationattributes = + atrnavinfoprovider = + hierarchycharacteristics = + elimination = . + ENDTRY. IF ls_return-type = 'E'. zcx_abapgit_exception=>raise( |Error getting details of InfoObject: { ls_return-message }| ). From da3f5e2a08bc894d72133438e77a4ddeb69444d5 Mon Sep 17 00:00:00 2001 From: Marc Bernard <59966492+mbtools@users.noreply.github.com> Date: Thu, 5 Dec 2024 11:56:41 -0500 Subject: [PATCH 06/17] Fix extended check issues - Part 8 (#7094) Co-authored-by: Lars Hvam --- src/objects/zcl_abapgit_object_iwpr.clas.abap | 6 +++++- src/objects/zcl_abapgit_object_iwvb.clas.abap | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/objects/zcl_abapgit_object_iwpr.clas.abap b/src/objects/zcl_abapgit_object_iwpr.clas.abap index 1701dc6ec..a0251fce3 100644 --- a/src/objects/zcl_abapgit_object_iwpr.clas.abap +++ b/src/objects/zcl_abapgit_object_iwpr.clas.abap @@ -124,7 +124,11 @@ CLASS zcl_abapgit_object_iwpr IMPLEMENTATION. METHOD zif_abapgit_object~jump. - SUBMIT /iwbep/r_sbui_service_builder + DATA lv_prog TYPE progname. + + lv_prog = '/IWBEP/R_SBUI_SERVICE_BUILDER'. + + SUBMIT (lv_prog) WITH i_prname = ms_item-obj_name AND RETURN. diff --git a/src/objects/zcl_abapgit_object_iwvb.clas.abap b/src/objects/zcl_abapgit_object_iwvb.clas.abap index 78b21145d..e2405e71a 100644 --- a/src/objects/zcl_abapgit_object_iwvb.clas.abap +++ b/src/objects/zcl_abapgit_object_iwvb.clas.abap @@ -131,7 +131,11 @@ CLASS zcl_abapgit_object_iwvb IMPLEMENTATION. METHOD zif_abapgit_object~jump. - SUBMIT /iwbep/r_dst_vocan_register + DATA lv_prog TYPE progname. + + lv_prog = '/IWBEP/R_DST_VOCAN_REGISTER'. + + SUBMIT (lv_prog) WITH ip_aname = ms_item-obj_name WITH ip_avers = ms_item-obj_name+32(4) AND RETURN. From cb58678c799752bd01944194e490ea13b4a0ede9 Mon Sep 17 00:00:00 2001 From: Marc Bernard <59966492+mbtools@users.noreply.github.com> Date: Thu, 5 Dec 2024 12:01:09 -0500 Subject: [PATCH 07/17] Refactor: Types related to object interface (#7096) Co-authored-by: Lars Hvam --- src/objects/core/zcl_abapgit_serialize.clas.abap | 2 +- src/objects/zcl_abapgit_object_doma.clas.abap | 2 +- src/objects/zcl_abapgit_object_shlp.clas.abap | 2 +- src/objects/zcl_abapgit_objects.clas.abap | 9 +++------ .../zcl_abapgit_objects.clas.testclasses.abap | 2 +- src/objects/zif_abapgit_object.intf.abap | 15 +++++++-------- src/objects/zif_abapgit_objects.intf.abap | 11 ++++++++--- src/repo/zcl_abapgit_repo.clas.abap | 4 ++-- .../sett/zcl_abapgit_gui_page_sett_info.clas.abap | 2 +- .../zcl_abapgit_gui_page_debuginfo.clas.abap | 6 +++--- src/zif_abapgit_definitions.intf.abap | 5 ----- 11 files changed, 28 insertions(+), 32 deletions(-) diff --git a/src/objects/core/zcl_abapgit_serialize.clas.abap b/src/objects/core/zcl_abapgit_serialize.clas.abap index 21dae0a50..fc4ad0c95 100644 --- a/src/objects/core/zcl_abapgit_serialize.clas.abap +++ b/src/objects/core/zcl_abapgit_serialize.clas.abap @@ -432,7 +432,7 @@ CLASS zcl_abapgit_serialize IMPLEMENTATION. METHOD filter_unsupported_objects. DATA: ls_unsupported_count TYPE ty_unsupported_count, - lt_supported_types TYPE zcl_abapgit_objects=>ty_types_tt, + lt_supported_types TYPE zif_abapgit_objects=>ty_types_tt, lt_unsupported_count TYPE ty_unsupported_count_tt. FIELD-SYMBOLS: LIKE LINE OF ct_tadir, diff --git a/src/objects/zcl_abapgit_object_doma.clas.abap b/src/objects/zcl_abapgit_object_doma.clas.abap index 8bc1f7280..79e6860a2 100644 --- a/src/objects/zcl_abapgit_object_doma.clas.abap +++ b/src/objects/zcl_abapgit_object_doma.clas.abap @@ -43,7 +43,7 @@ CLASS zcl_abapgit_object_doma DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje METHODS handle_dependencies IMPORTING - !iv_step TYPE zif_abapgit_definitions=>ty_deserialization_step + !iv_step TYPE zif_abapgit_objects=>ty_deserialization_step CHANGING !cv_exit TYPE dd01v-convexit !cv_done TYPE abap_bool. diff --git a/src/objects/zcl_abapgit_object_shlp.clas.abap b/src/objects/zcl_abapgit_object_shlp.clas.abap index 02dd0c9b6..c4b800b8b 100644 --- a/src/objects/zcl_abapgit_object_shlp.clas.abap +++ b/src/objects/zcl_abapgit_object_shlp.clas.abap @@ -7,7 +7,7 @@ CLASS zcl_abapgit_object_shlp DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje METHODS handle_dependencies IMPORTING - !iv_step TYPE zif_abapgit_definitions=>ty_deserialization_step + !iv_step TYPE zif_abapgit_objects=>ty_deserialization_step CHANGING !cv_exit TYPE dd30v-selmexit !cv_done TYPE abap_bool. diff --git a/src/objects/zcl_abapgit_objects.clas.abap b/src/objects/zcl_abapgit_objects.clas.abap index 218529719..3c82e136e 100644 --- a/src/objects/zcl_abapgit_objects.clas.abap +++ b/src/objects/zcl_abapgit_objects.clas.abap @@ -4,9 +4,6 @@ CLASS zcl_abapgit_objects DEFINITION PUBLIC SECTION. - TYPES: - ty_types_tt TYPE SORTED TABLE OF tadir-object WITH UNIQUE KEY table_line . - CLASS-METHODS serialize IMPORTING !is_item TYPE zif_abapgit_definitions=>ty_item @@ -71,7 +68,7 @@ CLASS zcl_abapgit_objects DEFINITION VALUE(rv_bool) TYPE abap_bool . CLASS-METHODS supported_list RETURNING - VALUE(rt_types) TYPE ty_types_tt . + VALUE(rt_types) TYPE zif_abapgit_objects=>ty_types_tt. CLASS-METHODS is_active IMPORTING !is_item TYPE zif_abapgit_definitions=>ty_item @@ -663,7 +660,7 @@ CLASS zcl_abapgit_objects IMPLEMENTATION. li_progress TYPE REF TO zif_abapgit_progress, lv_path TYPE string, lt_items TYPE zif_abapgit_definitions=>ty_items_tt, - lt_steps_id TYPE zif_abapgit_definitions=>ty_deserialization_step_tt, + lt_steps_id TYPE zif_abapgit_objects=>ty_deserialization_step_tt, lt_steps TYPE zif_abapgit_objects=>ty_step_data_tt, lx_exc TYPE REF TO zcx_abapgit_exception. DATA lo_folder_logic TYPE REF TO zcl_abapgit_folder_logic. @@ -672,7 +669,7 @@ CLASS zcl_abapgit_objects IMPLEMENTATION. DATA lo_abap_language_vers TYPE REF TO zcl_abapgit_abap_language_vers. FIELD-SYMBOLS: TYPE zif_abapgit_definitions=>ty_result, - TYPE LINE OF zif_abapgit_definitions=>ty_deserialization_step_tt, + TYPE LINE OF zif_abapgit_objects=>ty_deserialization_step_tt, TYPE LINE OF zif_abapgit_objects=>ty_step_data_tt, TYPE LINE OF zif_abapgit_objects=>ty_deserialization_tt. diff --git a/src/objects/zcl_abapgit_objects.clas.testclasses.abap b/src/objects/zcl_abapgit_objects.clas.testclasses.abap index ae2704279..5d29ba4e6 100644 --- a/src/objects/zcl_abapgit_objects.clas.testclasses.abap +++ b/src/objects/zcl_abapgit_objects.clas.testclasses.abap @@ -29,7 +29,7 @@ CLASS ltcl_object_types IMPLEMENTATION. DATA: ls_item TYPE zif_abapgit_definitions=>ty_item, lv_exists TYPE abap_bool, - lt_types TYPE zcl_abapgit_objects=>ty_types_tt. + lt_types TYPE zif_abapgit_objects=>ty_types_tt. FIELD-SYMBOLS: LIKE LINE OF lt_types. diff --git a/src/objects/zif_abapgit_object.intf.abap b/src/objects/zif_abapgit_object.intf.abap index b2a4b7121..24d938fbb 100644 --- a/src/objects/zif_abapgit_object.intf.abap +++ b/src/objects/zif_abapgit_object.intf.abap @@ -1,12 +1,11 @@ -INTERFACE zif_abapgit_object - PUBLIC . +INTERFACE zif_abapgit_object PUBLIC. CONSTANTS: BEGIN OF gc_step_id, - early TYPE zif_abapgit_definitions=>ty_deserialization_step VALUE `EARLY`, - abap TYPE zif_abapgit_definitions=>ty_deserialization_step VALUE `ABAP`, - ddic TYPE zif_abapgit_definitions=>ty_deserialization_step VALUE `DDIC`, - late TYPE zif_abapgit_definitions=>ty_deserialization_step VALUE `LATE`, + early TYPE zif_abapgit_objects=>ty_deserialization_step VALUE 'EARLY', + abap TYPE zif_abapgit_objects=>ty_deserialization_step VALUE 'ABAP', + ddic TYPE zif_abapgit_objects=>ty_deserialization_step VALUE 'DDIC', + late TYPE zif_abapgit_objects=>ty_deserialization_step VALUE 'LATE', END OF gc_step_id. METHODS serialize @@ -19,7 +18,7 @@ INTERFACE zif_abapgit_object IMPORTING !iv_package TYPE devclass !io_xml TYPE REF TO zif_abapgit_xml_input - !iv_step TYPE zif_abapgit_definitions=>ty_deserialization_step + !iv_step TYPE zif_abapgit_objects=>ty_deserialization_step !ii_log TYPE REF TO zif_abapgit_log !iv_transport TYPE trkorr RAISING @@ -78,7 +77,7 @@ INTERFACE zif_abapgit_object METHODS get_deserialize_steps RETURNING - VALUE(rt_steps) TYPE zif_abapgit_definitions=>ty_deserialization_step_tt . + VALUE(rt_steps) TYPE zif_abapgit_objects=>ty_deserialization_step_tt. METHODS get_deserialize_order IMPORTING diff --git a/src/objects/zif_abapgit_objects.intf.abap b/src/objects/zif_abapgit_objects.intf.abap index 8709cb6dd..e20f4bd19 100644 --- a/src/objects/zif_abapgit_objects.intf.abap +++ b/src/objects/zif_abapgit_objects.intf.abap @@ -1,5 +1,4 @@ -INTERFACE zif_abapgit_objects - PUBLIC. +INTERFACE zif_abapgit_objects PUBLIC. TYPES: BEGIN OF ty_serialization, @@ -15,9 +14,15 @@ INTERFACE zif_abapgit_objects END OF ty_deserialization . TYPES: ty_deserialization_tt TYPE STANDARD TABLE OF ty_deserialization WITH DEFAULT KEY . + TYPES: + ty_types_tt TYPE SORTED TABLE OF tadir-object WITH UNIQUE KEY table_line. + TYPES: + ty_deserialization_step TYPE string. + TYPES: + ty_deserialization_step_tt TYPE STANDARD TABLE OF ty_deserialization_step WITH DEFAULT KEY. TYPES: BEGIN OF ty_step_data, - step_id TYPE zif_abapgit_definitions=>ty_deserialization_step, + step_id TYPE ty_deserialization_step, order TYPE i, descr TYPE string, syntax_check TYPE abap_bool, diff --git a/src/repo/zcl_abapgit_repo.clas.abap b/src/repo/zcl_abapgit_repo.clas.abap index b24ecf3d4..b74622984 100644 --- a/src/repo/zcl_abapgit_repo.clas.abap +++ b/src/repo/zcl_abapgit_repo.clas.abap @@ -192,7 +192,7 @@ ENDCLASS. -CLASS ZCL_ABAPGIT_REPO IMPLEMENTATION. +CLASS zcl_abapgit_repo IMPLEMENTATION. METHOD bind_listener. @@ -402,7 +402,7 @@ CLASS ZCL_ABAPGIT_REPO IMPLEMENTATION. METHOD get_unsupported_objects_local. DATA: lt_tadir TYPE zif_abapgit_definitions=>ty_tadir_tt, - lt_supported_types TYPE zcl_abapgit_objects=>ty_types_tt. + lt_supported_types TYPE zif_abapgit_objects=>ty_types_tt. FIELD-SYMBOLS: LIKE LINE OF lt_tadir, LIKE LINE OF rt_objects. diff --git a/src/ui/pages/sett/zcl_abapgit_gui_page_sett_info.clas.abap b/src/ui/pages/sett/zcl_abapgit_gui_page_sett_info.clas.abap index 3125d605c..690b144cc 100644 --- a/src/ui/pages/sett/zcl_abapgit_gui_page_sett_info.clas.abap +++ b/src/ui/pages/sett/zcl_abapgit_gui_page_sett_info.clas.abap @@ -422,7 +422,7 @@ CLASS zcl_abapgit_gui_page_sett_info IMPLEMENTATION. DATA: ls_stats TYPE ty_stats, ls_item TYPE zif_abapgit_definitions=>ty_item, - lt_supported_types TYPE zcl_abapgit_objects=>ty_types_tt. + lt_supported_types TYPE zif_abapgit_objects=>ty_types_tt. ls_stats-measure = 'Number of Objects'. diff --git a/src/ui/pages/zcl_abapgit_gui_page_debuginfo.clas.abap b/src/ui/pages/zcl_abapgit_gui_page_debuginfo.clas.abap index 9fc930243..c2b561118 100644 --- a/src/ui/pages/zcl_abapgit_gui_page_debuginfo.clas.abap +++ b/src/ui/pages/zcl_abapgit_gui_page_debuginfo.clas.abap @@ -298,15 +298,15 @@ CLASS zcl_abapgit_gui_page_debuginfo IMPLEMENTATION. DATA: lv_list TYPE string, li_html TYPE REF TO zif_abapgit_html, - lt_types TYPE zcl_abapgit_objects=>ty_types_tt, + lt_types TYPE zif_abapgit_objects=>ty_types_tt, lv_type LIKE LINE OF lt_types, lt_obj TYPE STANDARD TABLE OF ko100 WITH DEFAULT KEY, lv_class TYPE seoclsname, li_object TYPE REF TO zif_abapgit_object, ls_item TYPE zif_abapgit_definitions=>ty_item, ls_metadata TYPE zif_abapgit_definitions=>ty_metadata, - lv_step TYPE zif_abapgit_definitions=>ty_deserialization_step, - lt_steps TYPE zif_abapgit_definitions=>ty_deserialization_step_tt. + lv_step TYPE zif_abapgit_objects=>ty_deserialization_step, + lt_steps TYPE zif_abapgit_objects=>ty_deserialization_step_tt. FIELD-SYMBOLS: TYPE ko100. diff --git a/src/zif_abapgit_definitions.intf.abap b/src/zif_abapgit_definitions.intf.abap index c205a0200..db0ca4e89 100644 --- a/src/zif_abapgit_definitions.intf.abap +++ b/src/zif_abapgit_definitions.intf.abap @@ -268,11 +268,6 @@ INTERFACE zif_abapgit_definitions prerelase TYPE string, prerelase_patch TYPE i, END OF ty_version. - TYPES: - ty_deserialization_step TYPE string. - TYPES: - ty_deserialization_step_tt TYPE STANDARD TABLE OF ty_deserialization_step - WITH DEFAULT KEY . TYPES ty_sci_result TYPE c LENGTH 1. CONSTANTS: BEGIN OF c_sci_result, From 0e6c6fc120fe7475734cd5db6476635c3731e36d Mon Sep 17 00:00:00 2001 From: Marc Bernard <59966492+mbtools@users.noreply.github.com> Date: Fri, 6 Dec 2024 04:18:50 -0500 Subject: [PATCH 08/17] Fix extended check issues - Part 9 (#7106) --- src/env/zcl_abapgit_environment.clas.abap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/env/zcl_abapgit_environment.clas.abap b/src/env/zcl_abapgit_environment.clas.abap index e9277f22f..5e6922a38 100644 --- a/src/env/zcl_abapgit_environment.clas.abap +++ b/src/env/zcl_abapgit_environment.clas.abap @@ -233,7 +233,7 @@ CLASS zcl_abapgit_environment IMPLEMENTATION. currently_no_resources_avail = 4 no_pbt_resources_found = 5 cant_init_different_pbt_groups = 6 - OTHERS = 7. + OTHERS = 7 ##FM_SUBRC_OK. " If SPBT_INITIALIZE fails, check transactions RZ12, SM50, SM21, SARFC ENDMETHOD. From d21c8a3cfe80f06bc2c6c07732c7de91c010101e Mon Sep 17 00:00:00 2001 From: Marc Bernard <59966492+mbtools@users.noreply.github.com> Date: Fri, 6 Dec 2024 04:47:39 -0500 Subject: [PATCH 09/17] Fix dark theme CSS whitespace (#7104) Co-authored-by: Lars Hvam --- src/ui/zabapgit_css_theme_dark.w3mi.data.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ui/zabapgit_css_theme_dark.w3mi.data.css b/src/ui/zabapgit_css_theme_dark.w3mi.data.css index e6e867b36..2d59d8e4c 100644 --- a/src/ui/zabapgit_css_theme_dark.w3mi.data.css +++ b/src/ui/zabapgit_css_theme_dark.w3mi.data.css @@ -263,4 +263,4 @@ div.log { color: var(--theme-greyscale-dark); } .dialog input[readonly] { background-color: var(--theme-greyscale-dark); color: var(--theme-greyscale-medium); -} +} From 53bad5bd20847cb51b82b356b882fc8593a202dc Mon Sep 17 00:00:00 2001 From: Marc Bernard <59966492+mbtools@users.noreply.github.com> Date: Fri, 6 Dec 2024 04:51:12 -0500 Subject: [PATCH 10/17] Adjust object descriptions (#7101) Co-authored-by: Lars Hvam --- src/cts/zif_abapgit_default_transport.intf.xml | 2 +- src/inspect/zcl_abapgit_where_used_tools.clas.xml | 2 +- src/objects/zcl_abapgit_object_fugs.clas.xml | 2 +- src/ui/lib/zcl_abapgit_gui_picklist.clas.xml | 2 +- src/ui/pages/codi/zcl_abapgit_gui_page_whereused.clas.xml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/cts/zif_abapgit_default_transport.intf.xml b/src/cts/zif_abapgit_default_transport.intf.xml index 1d7795e67..e7ad06161 100644 --- a/src/cts/zif_abapgit_default_transport.intf.xml +++ b/src/cts/zif_abapgit_default_transport.intf.xml @@ -5,7 +5,7 @@ ZIF_ABAPGIT_DEFAULT_TRANSPORT E - ZIF_ABAPGIT_DEFAULT_TRANSPORT + abapGit - Default Transport 2 1 X diff --git a/src/inspect/zcl_abapgit_where_used_tools.clas.xml b/src/inspect/zcl_abapgit_where_used_tools.clas.xml index bcbde1723..2a5281546 100644 --- a/src/inspect/zcl_abapgit_where_used_tools.clas.xml +++ b/src/inspect/zcl_abapgit_where_used_tools.clas.xml @@ -5,7 +5,7 @@ ZCL_ABAPGIT_WHERE_USED_TOOLS E - abapGit where used utilities + abapGit - Where-used Utilities 1 X X diff --git a/src/objects/zcl_abapgit_object_fugs.clas.xml b/src/objects/zcl_abapgit_object_fugs.clas.xml index 54cdabde2..a52df4001 100644 --- a/src/objects/zcl_abapgit_object_fugs.clas.xml +++ b/src/objects/zcl_abapgit_object_fugs.clas.xml @@ -5,7 +5,7 @@ ZCL_ABAPGIT_OBJECT_FUGS E - abapGit - FUGS + abapGit - FUGS - Function Group (SAP) 1 X X diff --git a/src/ui/lib/zcl_abapgit_gui_picklist.clas.xml b/src/ui/lib/zcl_abapgit_gui_picklist.clas.xml index 3830c0365..d11fbd3be 100644 --- a/src/ui/lib/zcl_abapgit_gui_picklist.clas.xml +++ b/src/ui/lib/zcl_abapgit_gui_picklist.clas.xml @@ -5,7 +5,7 @@ ZCL_ABAPGIT_GUI_PICKLIST E - abapGit - Pick from list + abapGit - GUI Pick List 1 X X diff --git a/src/ui/pages/codi/zcl_abapgit_gui_page_whereused.clas.xml b/src/ui/pages/codi/zcl_abapgit_gui_page_whereused.clas.xml index 1f1873811..ad32d13b8 100644 --- a/src/ui/pages/codi/zcl_abapgit_gui_page_whereused.clas.xml +++ b/src/ui/pages/codi/zcl_abapgit_gui_page_whereused.clas.xml @@ -5,7 +5,7 @@ ZCL_ABAPGIT_GUI_PAGE_WHEREUSED E - abapGit where-used page + abapGit - GUI Where-used 1 X X From fef6bf49cab313ef7661d79fb4a65b69f63a1809 Mon Sep 17 00:00:00 2001 From: Marc Bernard <59966492+mbtools@users.noreply.github.com> Date: Fri, 6 Dec 2024 10:25:58 -0500 Subject: [PATCH 11/17] Fix generic table types (#7105) Co-authored-by: Lars Hvam --- src/exits/zif_abapgit_exit.intf.abap | 2 +- src/objects/aff/zcl_abapgit_json_handler.clas.abap | 2 +- src/objects/zcl_abapgit_object_sush.clas.abap | 8 ++++---- src/ui/zif_abapgit_popups.intf.abap | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/exits/zif_abapgit_exit.intf.abap b/src/exits/zif_abapgit_exit.intf.abap index 5a95ec67b..e07b0b21f 100644 --- a/src/exits/zif_abapgit_exit.intf.abap +++ b/src/exits/zif_abapgit_exit.intf.abap @@ -7,7 +7,7 @@ INTERFACE zif_abapgit_exit PUBLIC. clone_url TYPE string, END OF ty_ci_repo. TYPES: - ty_ci_repos TYPE TABLE OF ty_ci_repo. + ty_ci_repos TYPE STANDARD TABLE OF ty_ci_repo WITH DEFAULT KEY. TYPES: ty_object_types TYPE STANDARD TABLE OF tadir-object WITH DEFAULT KEY. TYPES: diff --git a/src/objects/aff/zcl_abapgit_json_handler.clas.abap b/src/objects/aff/zcl_abapgit_json_handler.clas.abap index 738d017f9..877dde787 100644 --- a/src/objects/aff/zcl_abapgit_json_handler.clas.abap +++ b/src/objects/aff/zcl_abapgit_json_handler.clas.abap @@ -18,7 +18,7 @@ CLASS zcl_abapgit_json_handler DEFINITION mappings TYPE ty_json_abap_mappings, END OF ty_enum_mapping . TYPES: - ty_enum_mappings TYPE TABLE OF ty_enum_mapping WITH DEFAULT KEY . + ty_enum_mappings TYPE STANDARD TABLE OF ty_enum_mapping WITH DEFAULT KEY . TYPES: BEGIN OF ty_path_value_pair, path TYPE string, diff --git a/src/objects/zcl_abapgit_object_sush.clas.abap b/src/objects/zcl_abapgit_object_sush.clas.abap index d9e0cc92d..974a94250 100644 --- a/src/objects/zcl_abapgit_object_sush.clas.abap +++ b/src/objects/zcl_abapgit_object_sush.clas.abap @@ -23,10 +23,10 @@ CLASS zcl_abapgit_object_sush DEFINITION METHODS clear_metadata CHANGING cs_data_head TYPE any - ct_usobx TYPE table - ct_usobt TYPE table - ct_usobx_ext TYPE table - ct_usobt_ext TYPE table. + ct_usobx TYPE STANDARD TABLE + ct_usobt TYPE STANDARD TABLE + ct_usobx_ext TYPE STANDARD TABLE + ct_usobt_ext TYPE STANDARD TABLE. ENDCLASS. diff --git a/src/ui/zif_abapgit_popups.intf.abap b/src/ui/zif_abapgit_popups.intf.abap index d6217dbcb..d921b749e 100644 --- a/src/ui/zif_abapgit_popups.intf.abap +++ b/src/ui/zif_abapgit_popups.intf.abap @@ -12,7 +12,7 @@ INTERFACE zif_abapgit_popups show_icon TYPE abap_bool, center TYPE abap_bool, END OF ty_alv_column, - ty_alv_column_tt TYPE TABLE OF ty_alv_column WITH DEFAULT KEY. + ty_alv_column_tt TYPE STANDARD TABLE OF ty_alv_column WITH DEFAULT KEY. TYPES: BEGIN OF ty_popup_position, From f24f0c958998450e47d84be0c1a01a31897f5717 Mon Sep 17 00:00:00 2001 From: Marc Bernard <59966492+mbtools@users.noreply.github.com> Date: Fri, 6 Dec 2024 11:09:18 -0500 Subject: [PATCH 12/17] MSAG: Fix deletion of message longtexts (#7109) Co-authored-by: Lars Hvam --- src/objects/zcl_abapgit_object_msag.clas.abap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/objects/zcl_abapgit_object_msag.clas.abap b/src/objects/zcl_abapgit_object_msag.clas.abap index a3f58f990..6a66fa415 100644 --- a/src/objects/zcl_abapgit_object_msag.clas.abap +++ b/src/objects/zcl_abapgit_object_msag.clas.abap @@ -84,7 +84,7 @@ CLASS zcl_abapgit_object_msag IMPLEMENTATION. object_is_enqueued_by_corr = 6 user_break = 7 OTHERS = 8. - IF sy-subrc <> 0. + IF sy-subrc <> 0 AND sy-subrc <> 4. zcx_abapgit_exception=>raise( 'Error deleting longtext for message' ). ENDIF. From 621f0192efa43c81c9e641a82eead491145ae7e1 Mon Sep 17 00:00:00 2001 From: Marc Bernard <59966492+mbtools@users.noreply.github.com> Date: Sun, 8 Dec 2024 05:47:37 -0500 Subject: [PATCH 13/17] Fix missing longtexts (#7108) Co-authored-by: Lars Hvam --- .../texts/zcl_abapgit_longtexts.clas.abap | 32 ++++++++++--------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/src/objects/texts/zcl_abapgit_longtexts.clas.abap b/src/objects/texts/zcl_abapgit_longtexts.clas.abap index 11c2a94b7..8db89aae7 100644 --- a/src/objects/texts/zcl_abapgit_longtexts.clas.abap +++ b/src/objects/texts/zcl_abapgit_longtexts.clas.abap @@ -64,6 +64,10 @@ CLASS zcl_abapgit_longtexts IMPLEMENTATION. FIELD-SYMBOLS: LIKE LINE OF lt_dokil. + IF iv_object_name CA '#'. + zcx_abapgit_exception=>raise( |Invalid name for longtext: { iv_longtext_id } { iv_object_name }| ). + ENDIF. + lv_object = escape_name( iv_longtext_id = iv_longtext_id iv_object_name = iv_object_name ). @@ -77,21 +81,19 @@ CLASS zcl_abapgit_longtexts IMPLEMENTATION. ENDIF. ELSEIF iv_longtext_id IS NOT INITIAL. - IF lv_object NA '#'. - IF iv_main_lang_only = abap_true. - SELECT * FROM dokil - INTO TABLE lt_dokil - WHERE id = iv_longtext_id - AND object LIKE lv_object ESCAPE '#' - AND masterlang = abap_true - ORDER BY PRIMARY KEY. - ELSE. - SELECT * FROM dokil - INTO TABLE lt_dokil - WHERE id = iv_longtext_id - AND object LIKE lv_object ESCAPE '#' - ORDER BY PRIMARY KEY. - ENDIF. + IF iv_main_lang_only = abap_true. + SELECT * FROM dokil + INTO TABLE lt_dokil + WHERE id = iv_longtext_id + AND object LIKE lv_object ESCAPE '#' + AND masterlang = abap_true + ORDER BY PRIMARY KEY. + ELSE. + SELECT * FROM dokil + INTO TABLE lt_dokil + WHERE id = iv_longtext_id + AND object LIKE lv_object ESCAPE '#' + ORDER BY PRIMARY KEY. ENDIF. ELSE. From bc36dcc44bff243258c49b9b29077e38ad679b3e Mon Sep 17 00:00:00 2001 From: Marc Bernard <59966492+mbtools@users.noreply.github.com> Date: Mon, 9 Dec 2024 08:56:39 -0500 Subject: [PATCH 14/17] Fix RFC error handling (#7102) Co-authored-by: Lars Hvam --- .../jump/zcl_abapgit_gui_jumper.clas.abap | 3 +- .../routing/zcl_abapgit_gui_router.clas.abap | 77 ++++++++++--------- 2 files changed, 42 insertions(+), 38 deletions(-) diff --git a/src/objects/jump/zcl_abapgit_gui_jumper.clas.abap b/src/objects/jump/zcl_abapgit_gui_jumper.clas.abap index 247961df6..35a048049 100644 --- a/src/objects/jump/zcl_abapgit_gui_jumper.clas.abap +++ b/src/objects/jump/zcl_abapgit_gui_jumper.clas.abap @@ -253,7 +253,8 @@ CLASS zcl_abapgit_gui_jumper IMPLEMENTATION. EXCEPTIONS communication_failure = 1 MESSAGE lv_msg system_failure = 2 MESSAGE lv_msg - OTHERS = 3. + resource_failure = 3 + OTHERS = 4. lv_subrc = sy-subrc. diff --git a/src/ui/routing/zcl_abapgit_gui_router.clas.abap b/src/ui/routing/zcl_abapgit_gui_router.clas.abap index 685b6af98..db7cf5da2 100644 --- a/src/ui/routing/zcl_abapgit_gui_router.clas.abap +++ b/src/ui/routing/zcl_abapgit_gui_router.clas.abap @@ -186,7 +186,8 @@ CLASS zcl_abapgit_gui_router IMPLEMENTATION. EXCEPTIONS communication_failure = 1 MESSAGE lv_msg system_failure = 2 MESSAGE lv_msg - OTHERS = 3. + resource_failure = 3 + OTHERS = 4. IF sy-subrc <> 0. lv_msg = |Error starting transaction { iv_tcode }: { lv_msg }|. MESSAGE lv_msg TYPE 'I'. @@ -478,6 +479,22 @@ CLASS zcl_abapgit_gui_router IMPLEMENTATION. ENDMETHOD. + METHOD go_stage_transport. + + DATA lt_r_trkorr TYPE zif_abapgit_definitions=>ty_trrngtrkor_tt. + DATA lo_repo TYPE REF TO zcl_abapgit_repo. + + lt_r_trkorr = zcl_abapgit_ui_factory=>get_popups( )->popup_select_wb_tc_tr_and_tsk( ). + + lo_repo ?= zcl_abapgit_repo_srv=>get_instance( )->get( iv_key ). + + CREATE OBJECT ro_filter. + ro_filter->set_filter_values( iv_package = lo_repo->get_package( ) + it_r_trkorr = lt_r_trkorr ). + + ENDMETHOD. + + METHOD jump_display_transport. DATA: @@ -762,6 +779,28 @@ CLASS zcl_abapgit_gui_router IMPLEMENTATION. ENDMETHOD. + METHOD zip_export_transport. + + DATA lo_obj_filter_trans TYPE REF TO zcl_abapgit_object_filter_tran. + DATA lt_r_trkorr TYPE zif_abapgit_definitions=>ty_trrngtrkor_tt. + DATA lo_repo TYPE REF TO zcl_abapgit_repo. + DATA lv_xstr TYPE xstring. + + lt_r_trkorr = zcl_abapgit_ui_factory=>get_popups( )->popup_select_wb_tc_tr_and_tsk( ). + lo_repo ?= zcl_abapgit_repo_srv=>get_instance( )->get( iv_key ). + lo_repo->refresh( ). + CREATE OBJECT lo_obj_filter_trans. + lo_obj_filter_trans->set_filter_values( iv_package = lo_repo->get_package( ) + it_r_trkorr = lt_r_trkorr ). + + lv_xstr = zcl_abapgit_zip=>encode_files( lo_repo->get_files_local_filtered( lo_obj_filter_trans ) ). + lo_repo->refresh( ). + file_download( iv_package = lo_repo->get_package( ) + iv_xstr = lv_xstr ). + + ENDMETHOD. + + METHOD zip_services. DATA: lv_key TYPE zif_abapgit_persistence=>ty_repo-key, @@ -860,40 +899,4 @@ CLASS zcl_abapgit_gui_router IMPLEMENTATION. ENDCASE. ENDMETHOD. - - METHOD zip_export_transport. - - DATA lo_obj_filter_trans TYPE REF TO zcl_abapgit_object_filter_tran. - DATA lt_r_trkorr TYPE zif_abapgit_definitions=>ty_trrngtrkor_tt. - DATA lo_repo TYPE REF TO zcl_abapgit_repo. - DATA lv_xstr TYPE xstring. - - lt_r_trkorr = zcl_abapgit_ui_factory=>get_popups( )->popup_select_wb_tc_tr_and_tsk( ). - lo_repo ?= zcl_abapgit_repo_srv=>get_instance( )->get( iv_key ). - lo_repo->refresh( ). - CREATE OBJECT lo_obj_filter_trans. - lo_obj_filter_trans->set_filter_values( iv_package = lo_repo->get_package( ) - it_r_trkorr = lt_r_trkorr ). - - lv_xstr = zcl_abapgit_zip=>encode_files( lo_repo->get_files_local_filtered( lo_obj_filter_trans ) ). - lo_repo->refresh( ). - file_download( iv_package = lo_repo->get_package( ) - iv_xstr = lv_xstr ). - - ENDMETHOD. - - METHOD go_stage_transport. - - DATA lt_r_trkorr TYPE zif_abapgit_definitions=>ty_trrngtrkor_tt. - DATA lo_repo TYPE REF TO zcl_abapgit_repo. - - lt_r_trkorr = zcl_abapgit_ui_factory=>get_popups( )->popup_select_wb_tc_tr_and_tsk( ). - - lo_repo ?= zcl_abapgit_repo_srv=>get_instance( )->get( iv_key ). - - CREATE OBJECT ro_filter. - ro_filter->set_filter_values( iv_package = lo_repo->get_package( ) - it_r_trkorr = lt_r_trkorr ). - - ENDMETHOD. ENDCLASS. From 3d3cae39909fbf8f1f0dcbc988ccfb5c413acdce Mon Sep 17 00:00:00 2001 From: Marc Bernard <59966492+mbtools@users.noreply.github.com> Date: Tue, 10 Dec 2024 01:50:34 -0500 Subject: [PATCH 15/17] IDOC/IEXT: Fix deserialize in background (#7113) --- src/objects/core/zcl_abapgit_file_deserialize.clas.abap | 3 +++ src/objects/zcl_abapgit_object_idoc.clas.abap | 3 +++ src/objects/zcl_abapgit_object_iext.clas.abap | 3 +++ 3 files changed, 9 insertions(+) diff --git a/src/objects/core/zcl_abapgit_file_deserialize.clas.abap b/src/objects/core/zcl_abapgit_file_deserialize.clas.abap index 242d9686f..65d7c43d9 100644 --- a/src/objects/core/zcl_abapgit_file_deserialize.clas.abap +++ b/src/objects/core/zcl_abapgit_file_deserialize.clas.abap @@ -214,6 +214,9 @@ CLASS zcl_abapgit_file_deserialize IMPLEMENTATION. DELETE lt_requires WHERE obj_type <> 'IASP' AND obj_type <> 'PROG' AND obj_type <> 'IARP'. + WHEN 'IDOC' OR 'IEXT'. + lt_requires = lt_items. + DELETE lt_requires WHERE obj_type <> 'TABL'. WHEN 'DCLS'. lt_requires = lt_items. DELETE lt_requires WHERE obj_type <> 'DDLS'. diff --git a/src/objects/zcl_abapgit_object_idoc.clas.abap b/src/objects/zcl_abapgit_object_idoc.clas.abap index e01d7db1a..5b958f5b0 100644 --- a/src/objects/zcl_abapgit_object_idoc.clas.abap +++ b/src/objects/zcl_abapgit_object_idoc.clas.abap @@ -163,6 +163,9 @@ CLASS zcl_abapgit_object_idoc IMPLEMENTATION. MOVE-CORRESPONDING ls_idoc-attributes TO ls_attributes. IF zif_abapgit_object~exists( ) = abap_false. + " Avoid popup asking for package + tadir_insert( iv_package ). + CALL FUNCTION 'IDOCTYPE_CREATE' EXPORTING pi_idoctyp = mv_idoctyp diff --git a/src/objects/zcl_abapgit_object_iext.clas.abap b/src/objects/zcl_abapgit_object_iext.clas.abap index 712bbf900..c3240dc82 100644 --- a/src/objects/zcl_abapgit_object_iext.clas.abap +++ b/src/objects/zcl_abapgit_object_iext.clas.abap @@ -97,6 +97,9 @@ CLASS zcl_abapgit_object_iext IMPLEMENTATION. EXCEPTIONS OTHERS = 1. ELSE. + " Avoid popup asking for package + tadir_insert( iv_package ). + CALL FUNCTION 'EXTTYPE_CREATE' EXPORTING pi_cimtyp = mv_extension From 7dd14b7ccf6e1ca8be2dd39f47d6ca05be26da9d Mon Sep 17 00:00:00 2001 From: Marc Bernard <59966492+mbtools@users.noreply.github.com> Date: Tue, 10 Dec 2024 07:31:04 -0500 Subject: [PATCH 16/17] USCA: Fix missing transport entry (#7110) Co-authored-by: Lars Hvam --- src/objects/zcl_abapgit_object_ucsa.clas.abap | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/objects/zcl_abapgit_object_ucsa.clas.abap b/src/objects/zcl_abapgit_object_ucsa.clas.abap index 95b791087..0f80e1516 100644 --- a/src/objects/zcl_abapgit_object_ucsa.clas.abap +++ b/src/objects/zcl_abapgit_object_ucsa.clas.abap @@ -158,6 +158,8 @@ CLASS zcl_abapgit_object_ucsa IMPLEMENTATION. tadir_delete( ). + corr_insert( iv_package ). + ENDMETHOD. @@ -195,6 +197,8 @@ CLASS zcl_abapgit_object_ucsa IMPLEMENTATION. tadir_insert( iv_package ). + corr_insert( iv_package ). + CATCH cx_root INTO lx_root. lv_text = lx_root->get_text( ). zcx_abapgit_exception=>raise( lv_text ). From cf9da3c06dc0a6b907dfa2ce9f175185eb107e9e Mon Sep 17 00:00:00 2001 From: Marc Bernard <59966492+mbtools@users.noreply.github.com> Date: Tue, 10 Dec 2024 15:17:28 -0500 Subject: [PATCH 17/17] Enhance logging with message id and number (#7111) Co-authored-by: Lars Hvam --- .../zcl_abapgit_objects_activation.clas.abap | 21 +++++-- src/ui/lib/zcl_abapgit_log_viewer.clas.abap | 57 ++++++++++++------- src/utils/zcl_abapgit_log.clas.abap | 12 ++-- .../zcl_abapgit_log.clas.testclasses.abap | 41 ++++++++++++- src/utils/zif_abapgit_log.intf.abap | 20 ++++--- 5 files changed, 115 insertions(+), 36 deletions(-) diff --git a/src/objects/core/zcl_abapgit_objects_activation.clas.abap b/src/objects/core/zcl_abapgit_objects_activation.clas.abap index 09d549be6..2aa608696 100644 --- a/src/objects/core/zcl_abapgit_objects_activation.clas.abap +++ b/src/objects/core/zcl_abapgit_objects_activation.clas.abap @@ -398,9 +398,18 @@ CLASS zcl_abapgit_objects_activation IMPLEMENTATION. WHERE type = -show_req->object_type. ENDIF. LOOP AT -mtext ASSIGNING . - ii_log->add_error( - iv_msg = - is_item = ls_item ). + IF sy-tabix = 1. + ii_log->add( + iv_type = 'E' + iv_msg = + iv_class = -message-msgid + iv_number = -message-msgno + is_item = ls_item ). + ELSE. + ii_log->add_error( + iv_msg = + is_item = ls_item ). + ENDIF. ENDLOOP. ENDLOOP. @@ -439,8 +448,10 @@ CLASS zcl_abapgit_objects_activation IMPLEMENTATION. DELETE lt_lines WHERE class = 'D0' AND number = '319'. LOOP AT lt_lines ASSIGNING . - ii_log->add( iv_msg = -line - iv_type = -severity ). + ii_log->add( iv_msg = -line + iv_type = -severity + iv_class = -class + iv_number = |{ -number }| ). ENDLOOP. ii_log->add_info( |View complete activation log in program RSPUTPRT (type D, log name { iv_logname })| ). diff --git a/src/ui/lib/zcl_abapgit_log_viewer.clas.abap b/src/ui/lib/zcl_abapgit_log_viewer.clas.abap index 9c86a540a..b78d2fa71 100644 --- a/src/ui/lib/zcl_abapgit_log_viewer.clas.abap +++ b/src/ui/lib/zcl_abapgit_log_viewer.clas.abap @@ -30,6 +30,8 @@ CLASS zcl_abapgit_log_viewer DEFINITION source TYPE icon_d, callstack TYPE icon_d, cell_type TYPE salv_t_int4_column, + id TYPE sy-msgid, + number TYPE sy-msgno, END OF ty_log_out. TYPES: ty_log_outs TYPE STANDARD TABLE OF ty_log_out @@ -91,7 +93,7 @@ ENDCLASS. -CLASS ZCL_ABAPGIT_LOG_VIEWER IMPLEMENTATION. +CLASS zcl_abapgit_log_viewer IMPLEMENTATION. METHOD calculate_cell_type. @@ -230,7 +232,7 @@ CLASS ZCL_ABAPGIT_LOG_VIEWER IMPLEMENTATION. CLEAR: ls_log. - ls_log-msg = lr_message->text. + ls_log-msg = lr_message->text. ls_log-exception = lr_message->exception. CASE lr_message->type. @@ -268,6 +270,10 @@ CLASS ZCL_ABAPGIT_LOG_VIEWER IMPLEMENTATION. CATCH cx_sy_move_cast_error ##NO_HANDLER. ENDTRY. + ELSEIF lr_message->id IS NOT INITIAL AND lr_message->number IS NOT INITIAL. + ls_log-id = lr_message->id. + ls_log-number = lr_message->number. + ls_log-longtext = icon_system_help. ENDIF. ls_log-obj_type = lr_message->obj_type. @@ -387,6 +393,16 @@ CLASS ZCL_ABAPGIT_LOG_VIEWER IMPLEMENTATION. lo_column->set_technical( abap_true ). ENDIF. + LOOP AT gt_log TRANSPORTING NO FIELDS WHERE id IS NOT INITIAL. + EXIT. + ENDLOOP. + IF sy-subrc <> 0. + lo_column = lo_columns->get_column( |ID| ). + lo_column->set_technical( abap_true ). + lo_column = lo_columns->get_column( |NUMBER| ). + lo_column->set_technical( abap_true ). + ENDIF. + ls_position = zcl_abapgit_popups=>center( iv_width = 125 iv_height = 20 ). @@ -424,31 +440,34 @@ CLASS ZCL_ABAPGIT_LOG_VIEWER IMPLEMENTATION. lt_dummy2 TYPE TABLE OF dval, ls_help_info TYPE help_info. - IF is_log-exception IS NOT BOUND. + IF is_log-exception IS BOUND. + TRY. + lx_abapgit ?= is_log-exception. + CATCH cx_sy_move_cast_error. + RETURN. + ENDTRY. + + lv_docu_object = lx_abapgit->if_t100_message~t100key-msgid && lx_abapgit->if_t100_message~t100key-msgno. + ls_help_info-messageid = lx_abapgit->if_t100_message~t100key-msgid. + ls_help_info-messagenr = lx_abapgit->if_t100_message~t100key-msgno. + ls_help_info-msgv1 = lx_abapgit->msgv1. + ls_help_info-msgv2 = lx_abapgit->msgv2. + ls_help_info-msgv3 = lx_abapgit->msgv3. + ls_help_info-msgv4 = lx_abapgit->msgv4. + ELSEIF is_log-id IS NOT INITIAL AND is_log-number IS NOT INITIAL. + lv_docu_object = is_log-id && is_log-number. + ls_help_info-messageid = is_log-id. + ls_help_info-messagenr = is_log-number. + ELSE. RETURN. ENDIF. - TRY. - lx_abapgit ?= is_log-exception. - CATCH cx_sy_move_cast_error. - RETURN. - ENDTRY. - - lv_docu_object = lx_abapgit->if_t100_message~t100key-msgid. - lv_docu_object+2 = lx_abapgit->if_t100_message~t100key-msgno. - ls_help_info-call = 'D'. ls_help_info-spras = sy-langu. - ls_help_info-messageid = lx_abapgit->if_t100_message~t100key-msgid. - ls_help_info-messagenr = lx_abapgit->if_t100_message~t100key-msgno. ls_help_info-message = is_log-msg. ls_help_info-title = 'Longtext'. ls_help_info-docuid = 'NA'. - ls_help_info-docuobject = lv_docu_object. - ls_help_info-msgv1 = lx_abapgit->msgv1. - ls_help_info-msgv2 = lx_abapgit->msgv2. - ls_help_info-msgv3 = lx_abapgit->msgv3. - ls_help_info-msgv4 = lx_abapgit->msgv4. + ls_help_info-docuobject = condense( lv_docu_object ). CALL FUNCTION 'HELP_START' EXPORTING diff --git a/src/utils/zcl_abapgit_log.clas.abap b/src/utils/zcl_abapgit_log.clas.abap index a22becf90..098d1537a 100644 --- a/src/utils/zcl_abapgit_log.clas.abap +++ b/src/utils/zcl_abapgit_log.clas.abap @@ -90,10 +90,12 @@ CLASS zcl_abapgit_log IMPLEMENTATION. FIELD-SYMBOLS: LIKE LINE OF mt_log. APPEND INITIAL LINE TO mt_log ASSIGNING . - -msg-text = iv_msg. - -msg-type = iv_type. - -item = is_item. - -exception = ix_exc. + -msg-text = iv_msg. + -msg-type = iv_type. + -msg-id = iv_class. + -msg-number = iv_number. + -item = is_item. + -exception = ix_exc. CASE iv_type. WHEN 'E' OR 'A' OR 'X'. @@ -252,6 +254,8 @@ CLASS zcl_abapgit_log IMPLEMENTATION. FIELD-SYMBOLS TYPE ty_log. LOOP AT mt_log ASSIGNING . ls_msg-type = -msg-type. + ls_msg-id = -msg-id. + ls_msg-number = -msg-number. ls_msg-text = -msg-text. ls_msg-obj_type = -item-obj_type. ls_msg-obj_name = -item-obj_name. diff --git a/src/utils/zcl_abapgit_log.clas.testclasses.abap b/src/utils/zcl_abapgit_log.clas.testclasses.abap index d23c5e975..dd897dc12 100644 --- a/src/utils/zcl_abapgit_log.clas.testclasses.abap +++ b/src/utils/zcl_abapgit_log.clas.testclasses.abap @@ -14,7 +14,8 @@ CLASS ltcl_test DEFINITION FOR TESTING DURATION SHORT RISK LEVEL HARMLESS FINAL. merge_with_min_level FOR TESTING, empty FOR TESTING, clone FOR TESTING, - add FOR TESTING. + add FOR TESTING, + add_with_id_number FOR TESTING. ENDCLASS. @@ -64,6 +65,44 @@ CLASS ltcl_test IMPLEMENTATION. ENDMETHOD. + METHOD add_with_id_number. + + DATA lv_message TYPE string. + DATA lt_messages TYPE zif_abapgit_log=>ty_log_outs. + DATA ls_message LIKE LINE OF lt_messages. + + lv_message = 'abracadabra'. + + mi_cut->add( + iv_msg = lv_message + iv_type = 'W' + iv_class = 'SL' + iv_number = '123' ). + + cl_abap_unit_assert=>assert_equals( + act = mi_cut->count( ) + exp = 1 ). + + cl_abap_unit_assert=>assert_equals( + act = mi_cut->get_status( ) + exp = 'W' ). + + lt_messages = mi_cut->get_messages( ). + READ TABLE lt_messages INDEX 1 INTO ls_message. + cl_abap_unit_assert=>assert_subrc( ). + + cl_abap_unit_assert=>assert_equals( + act = ls_message-text + exp = lv_message ). + cl_abap_unit_assert=>assert_equals( + act = ls_message-id + exp = 'SL' ). + cl_abap_unit_assert=>assert_equals( + act = ls_message-number + exp = '123' ). + + ENDMETHOD. + METHOD get_status. DATA lo_x TYPE REF TO zcx_abapgit_exception. diff --git a/src/utils/zif_abapgit_log.intf.abap b/src/utils/zif_abapgit_log.intf.abap index aeb4ea669..8e18e69be 100644 --- a/src/utils/zif_abapgit_log.intf.abap +++ b/src/utils/zif_abapgit_log.intf.abap @@ -19,6 +19,8 @@ INTERFACE zif_abapgit_log TYPES: BEGIN OF ty_log_out, type TYPE sy-msgty, + id TYPE sy-msgid, + number TYPE sy-msgno, text TYPE string, obj_type TYPE tadir-object, obj_name TYPE tadir-obj_name, @@ -29,9 +31,11 @@ INTERFACE zif_abapgit_log WITH NON-UNIQUE DEFAULT KEY . TYPES: BEGIN OF ty_msg, - text TYPE string, - type TYPE sy-msgty, - level TYPE i, + text TYPE string, + type TYPE sy-msgty, + id TYPE sy-msgid, + number TYPE sy-msgno, + level TYPE i, END OF ty_msg . TYPES: ty_msgs TYPE STANDARD TABLE OF ty_msg @@ -48,10 +52,12 @@ INTERFACE zif_abapgit_log METHODS add IMPORTING - !iv_msg TYPE csequence - !iv_type TYPE sy-msgty DEFAULT 'E' - !is_item TYPE zif_abapgit_definitions=>ty_item OPTIONAL - !ix_exc TYPE REF TO cx_root OPTIONAL . + !iv_msg TYPE csequence + !iv_type TYPE sy-msgty DEFAULT 'E' + !iv_class TYPE sy-msgid OPTIONAL + !iv_number TYPE sy-msgno OPTIONAL + !is_item TYPE zif_abapgit_definitions=>ty_item OPTIONAL + !ix_exc TYPE REF TO cx_root OPTIONAL . METHODS add_error IMPORTING !iv_msg TYPE csequence