IOBJ, ODSO: Add jump (#5495)

* IOBJ, ODSO: Add jump

Support navigation to BW objects

* Lint

Co-authored-by: Lars Hvam <larshp@hotmail.com>
This commit is contained in:
Marc Bernard 2022-04-29 08:38:12 +02:00 committed by GitHub
parent 3240baea18
commit 43b0d95335
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 70 additions and 19 deletions

View File

@ -33,6 +33,13 @@ CLASS zcl_abapgit_gui_jumper DEFINITION
RETURNING RETURNING
VALUE(rv_exit) TYPE abap_bool. VALUE(rv_exit) TYPE abap_bool.
METHODS jump_bw
IMPORTING
!is_item TYPE zif_abapgit_definitions=>ty_item
!iv_new_window TYPE abap_bool
RETURNING
VALUE(rv_exit) TYPE abap_bool.
ENDCLASS. ENDCLASS.
@ -40,6 +47,38 @@ ENDCLASS.
CLASS zcl_abapgit_gui_jumper IMPLEMENTATION. CLASS zcl_abapgit_gui_jumper IMPLEMENTATION.
METHOD jump_bw.
DATA:
lv_exit TYPE abap_bool,
lv_tlogo TYPE rstlogo,
lv_objnm TYPE rsawbnobjnm.
lv_tlogo = is_item-obj_type.
lv_objnm = is_item-obj_name.
lv_exit = cl_rsawbn_awb=>is_supported_navigation(
i_tlogo = lv_tlogo
i_fcode = 'DISPLAY' ).
IF lv_exit = abap_false.
RETURN.
ENDIF.
cl_rsawbn_awb=>navigate_from_application(
EXPORTING
i_tlogo = lv_tlogo
i_objnm = lv_objnm
i_new_mode = iv_new_window
IMPORTING
e_exit_own_application = lv_exit ).
rv_exit = lv_exit.
ENDMETHOD.
METHOD jump_tr. METHOD jump_tr.
DATA: DATA:
@ -153,6 +192,15 @@ CLASS zcl_abapgit_gui_jumper IMPLEMENTATION.
" 4) Transport Tool Jump " 4) Transport Tool Jump
rv_exit = jump_tr( is_item ). rv_exit = jump_tr( is_item ).
IF rv_exit = abap_true.
RETURN.
ENDIF.
" 5) BW Jump
rv_exit = jump_bw(
is_item = is_item
iv_new_window = iv_new_window ).
ENDMETHOD. ENDMETHOD.

View File

@ -17,7 +17,7 @@ ENDCLASS.
CLASS ZCL_ABAPGIT_OBJECT_IOBJ IMPLEMENTATION. CLASS zcl_abapgit_object_iobj IMPLEMENTATION.
METHOD clear_field. METHOD clear_field.
@ -336,6 +336,7 @@ CLASS ZCL_ABAPGIT_OBJECT_IOBJ IMPLEMENTATION.
METHOD zif_abapgit_object~jump. METHOD zif_abapgit_object~jump.
" Covered by ZCL_ABAPGIT_OBJECTS=>JUMP
ENDMETHOD. ENDMETHOD.

View File

@ -22,9 +22,24 @@ CLASS zcl_abapgit_object_odso DEFINITION
ENDCLASS. ENDCLASS.
CLASS zcl_abapgit_object_odso IMPLEMENTATION. CLASS zcl_abapgit_object_odso IMPLEMENTATION.
METHOD clear_field.
FIELD-SYMBOLS: <lg_field> TYPE data.
ASSIGN COMPONENT iv_fieldname
OF STRUCTURE cg_metadata
TO <lg_field>.
ASSERT sy-subrc = 0.
CLEAR: <lg_field>.
ENDMETHOD.
METHOD zif_abapgit_object~changed_by. METHOD zif_abapgit_object~changed_by.
DATA: lv_dsonam TYPE c LENGTH 30, DATA: lv_dsonam TYPE c LENGTH 30,
@ -260,7 +275,7 @@ CLASS zcl_abapgit_object_odso IMPLEMENTATION.
METHOD zif_abapgit_object~jump. METHOD zif_abapgit_object~jump.
zcx_abapgit_exception=>raise( |Jump to ODSO is not yet supported| ). " Covered by ZCL_ABAPGIT_OBJECTS=>JUMP
ENDMETHOD. ENDMETHOD.
@ -343,17 +358,4 @@ CLASS zcl_abapgit_object_odso IMPLEMENTATION.
ig_data = <lt_index_iobj> ). ig_data = <lt_index_iobj> ).
ENDMETHOD. ENDMETHOD.
METHOD clear_field.
FIELD-SYMBOLS: <lg_field> TYPE data.
ASSIGN COMPONENT iv_fieldname
OF STRUCTURE cg_metadata
TO <lg_field>.
ASSERT sy-subrc = 0.
CLEAR: <lg_field>.
ENDMETHOD.
ENDCLASS. ENDCLASS.