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] 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.