From 6f8e3f45face6573505f35097a7cd2119bc749d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20G=C3=BCnter?= Date: Mon, 14 Jun 2021 10:58:01 +0200 Subject: [PATCH] Set focus: fix code inspector warning + improve error handling (#4843) * Set Focus: fix code inspector warning + improve error handling * fix method signature --- src/ui/core/zcl_abapgit_gui.clas.abap | 15 +++++++++++++-- src/zabapgit_forms.prog.abap | 9 +++++++-- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/ui/core/zcl_abapgit_gui.clas.abap b/src/ui/core/zcl_abapgit_gui.clas.abap index 7cb11a8d4..a7cba474f 100644 --- a/src/ui/core/zcl_abapgit_gui.clas.abap +++ b/src/ui/core/zcl_abapgit_gui.clas.abap @@ -51,7 +51,9 @@ CLASS zcl_abapgit_gui DEFINITION RAISING zcx_abapgit_exception . METHODS free . - METHODS set_focus . + METHODS set_focus + RAISING + zcx_abapgit_exception . PROTECTED SECTION. PRIVATE SECTION. @@ -369,7 +371,16 @@ CLASS zcl_abapgit_gui IMPLEMENTATION. METHOD set_focus. - cl_gui_control=>set_focus( mi_html_viewer->get_viewer( ) ). + cl_gui_control=>set_focus( + EXPORTING + control = mi_html_viewer->get_viewer( ) + EXCEPTIONS + cntl_error = 1 + cntl_system_error = 2 + OTHERS = 3 ). + IF sy-subrc <> 0. + zcx_abapgit_exception=>raise( |Error in: cl_gui_control=>set_focus - SUBRC = { sy-subrc }| ). + ENDIF. ENDMETHOD. diff --git a/src/zabapgit_forms.prog.abap b/src/zabapgit_forms.prog.abap index 9db7746ff..cbe61481c 100644 --- a/src/zabapgit_forms.prog.abap +++ b/src/zabapgit_forms.prog.abap @@ -73,7 +73,8 @@ FORM branch_popup TABLES tt_fields TYPE zif_abapgit_popups=>ty_sval_tt ENDFORM. "branch_popup FORM output. - DATA: lt_ucomm TYPE TABLE OF sy-ucomm. + DATA: lx_error TYPE REF TO zcx_abapgit_exception, + lt_ucomm TYPE TABLE OF sy-ucomm. PERFORM set_pf_status IN PROGRAM rsdbrunt IF FOUND. @@ -86,7 +87,11 @@ FORM output. TABLES p_exclude = lt_ucomm. - zcl_abapgit_ui_factory=>get_gui( )->set_focus( ). + TRY. + zcl_abapgit_ui_factory=>get_gui( )->set_focus( ). + CATCH zcx_abapgit_exception INTO lx_error. + MESSAGE lx_error TYPE 'S' DISPLAY LIKE 'E'. + ENDTRY. ENDFORM. FORM exit RAISING zcx_abapgit_exception.