From 63a87fa6e7bbf6aa5a04459ba2d03ed75e8a3380 Mon Sep 17 00:00:00 2001 From: Marc Bernard <59966492+mbtools@users.noreply.github.com> Date: Fri, 8 Apr 2022 15:39:03 +0200 Subject: [PATCH] TABU: Add "jump" to SE16 (#5459) * TABU: Add "jump" to SE16 When using "Data Cofiguration" you can now jump from the repo view to the data browser (`se16`). * Simplify Co-authored-by: Lars Hvam --- src/data/zcl_abapgit_data_utils.clas.abap | 34 +++++++++++++++++++++-- src/ui/zcl_abapgit_gui_router.clas.abap | 8 ++++-- 2 files changed, 37 insertions(+), 5 deletions(-) diff --git a/src/data/zcl_abapgit_data_utils.clas.abap b/src/data/zcl_abapgit_data_utils.clas.abap index e5ae0588d..f9a2b59b7 100644 --- a/src/data/zcl_abapgit_data_utils.clas.abap +++ b/src/data/zcl_abapgit_data_utils.clas.abap @@ -1,6 +1,6 @@ CLASS zcl_abapgit_data_utils DEFINITION PUBLIC - CREATE PUBLIC . + CREATE PUBLIC. PUBLIC SECTION. @@ -10,12 +10,19 @@ CLASS zcl_abapgit_data_utils DEFINITION RETURNING VALUE(rr_data) TYPE REF TO data RAISING - zcx_abapgit_exception . + zcx_abapgit_exception. CLASS-METHODS build_filename IMPORTING !is_config TYPE zif_abapgit_data_config=>ty_config RETURNING - VALUE(rv_filename) TYPE string . + VALUE(rv_filename) TYPE string. + CLASS-METHODS jump + IMPORTING + !is_item TYPE zif_abapgit_definitions=>ty_item + RETURNING + VALUE(rv_exit) TYPE abap_bool + RAISING + zcx_abapgit_exception. PROTECTED SECTION. PRIVATE SECTION. ENDCLASS. @@ -91,4 +98,25 @@ CLASS zcl_abapgit_data_utils IMPLEMENTATION. ENDTRY. ENDMETHOD. + + + METHOD jump. + + " Run SE16 with authorization check + CALL FUNCTION 'RS_TABLE_LIST_CREATE' + EXPORTING + table_name = is_item-obj_name + EXCEPTIONS + table_is_structure = 1 + table_not_exists = 2 + db_not_exists = 3 + no_permission = 4 + no_change_allowed = 5 + table_is_gtt = 6 + OTHERS = 7. + IF sy-subrc <> 0. + zcx_abapgit_exception=>raise( |Table { is_item-obj_name } cannot be displayed| ). + ENDIF. + + ENDMETHOD. ENDCLASS. diff --git a/src/ui/zcl_abapgit_gui_router.clas.abap b/src/ui/zcl_abapgit_gui_router.clas.abap index daa186cfb..3e0246074 100644 --- a/src/ui/zcl_abapgit_gui_router.clas.abap +++ b/src/ui/zcl_abapgit_gui_router.clas.abap @@ -131,7 +131,7 @@ ENDCLASS. -CLASS ZCL_ABAPGIT_GUI_ROUTER IMPLEMENTATION. +CLASS zcl_abapgit_gui_router IMPLEMENTATION. METHOD abapgit_services_actions. @@ -681,7 +681,11 @@ CLASS ZCL_ABAPGIT_GUI_ROUTER IMPLEMENTATION. TRY. " Hide HTML Viewer in dummy screen0 for direct CALL SCREEN to work li_html_viewer->set_visiblity( abap_false ). - zcl_abapgit_objects=>jump( ls_item ). + IF ls_item-obj_type = zif_abapgit_data_config=>c_data_type-tabu. + zcl_abapgit_data_utils=>jump( ls_item ). + ELSE. + zcl_abapgit_objects=>jump( ls_item ). + ENDIF. li_html_viewer->set_visiblity( abap_true ). CATCH zcx_abapgit_exception INTO lx_ex. li_html_viewer->set_visiblity( abap_true ).