From 0306a11ddcc712336bfbad4fce8fa2981be53480 Mon Sep 17 00:00:00 2001 From: Marc Bernard <59966492+mbtools@users.noreply.github.com> Date: Wed, 27 Apr 2022 07:28:32 +0200 Subject: [PATCH] Add "Changed by" to several objects (#5493) * Add "Changed by" to several objects Complete todos: ENSC, TRAN, TYPE, VCLS, XINX * Lint --- src/objects/zcl_abapgit_object_ensc.clas.abap | 21 ++++++++++++++++++- src/objects/zcl_abapgit_object_tran.clas.abap | 3 ++- src/objects/zcl_abapgit_object_type.clas.abap | 10 ++++++++- src/objects/zcl_abapgit_object_vcls.clas.abap | 8 +++++-- src/objects/zcl_abapgit_object_xinx.clas.abap | 6 +++++- 5 files changed, 42 insertions(+), 6 deletions(-) diff --git a/src/objects/zcl_abapgit_object_ensc.clas.abap b/src/objects/zcl_abapgit_object_ensc.clas.abap index a43fff3b5..511214ea3 100644 --- a/src/objects/zcl_abapgit_object_ensc.clas.abap +++ b/src/objects/zcl_abapgit_object_ensc.clas.abap @@ -13,7 +13,26 @@ CLASS zcl_abapgit_object_ensc IMPLEMENTATION. METHOD zif_abapgit_object~changed_by. - rv_user = c_user_unknown. " todo + + DATA: lv_spot_name TYPE enhspotcompositename, + li_spot_ref TYPE REF TO if_enh_spot_composite, + lo_spot_ref TYPE REF TO cl_enh_spot_composite. + + lv_spot_name = ms_item-obj_name. + + TRY. + li_spot_ref = cl_enh_factory=>get_enhancement_spot_comp( + lock = '' + run_dark = abap_true + name = lv_spot_name ). + + lo_spot_ref ?= li_spot_ref. + + lo_spot_ref->if_enh_spot_composite~get_change_attributes( IMPORTING changedby = rv_user ). + CATCH cx_root. + rv_user = c_user_unknown. + ENDTRY. + ENDMETHOD. diff --git a/src/objects/zcl_abapgit_object_tran.clas.abap b/src/objects/zcl_abapgit_object_tran.clas.abap index 6221faa18..c386a08a8 100644 --- a/src/objects/zcl_abapgit_object_tran.clas.abap +++ b/src/objects/zcl_abapgit_object_tran.clas.abap @@ -623,7 +623,8 @@ CLASS zcl_abapgit_object_tran IMPLEMENTATION. METHOD zif_abapgit_object~changed_by. - rv_user = c_user_unknown. " todo +* looks like "changed by user" is not stored in the database + rv_user = c_user_unknown. ENDMETHOD. diff --git a/src/objects/zcl_abapgit_object_type.clas.abap b/src/objects/zcl_abapgit_object_type.clas.abap index 9145ef694..0b395c902 100644 --- a/src/objects/zcl_abapgit_object_type.clas.abap +++ b/src/objects/zcl_abapgit_object_type.clas.abap @@ -99,7 +99,15 @@ CLASS zcl_abapgit_object_type IMPLEMENTATION. METHOD zif_abapgit_object~changed_by. - rv_user = c_user_unknown. " todo + DATA lv_prog TYPE progname. + + CONCATENATE '%_C' ms_item-obj_name INTO lv_prog. + + SELECT SINGLE unam FROM reposrc INTO rv_user + WHERE progname = lv_prog AND r3state = 'A'. + IF sy-subrc <> 0. + rv_user = c_user_unknown. + ENDIF. ENDMETHOD. diff --git a/src/objects/zcl_abapgit_object_vcls.clas.abap b/src/objects/zcl_abapgit_object_vcls.clas.abap index 32fc5271f..9aa7d3876 100644 --- a/src/objects/zcl_abapgit_object_vcls.clas.abap +++ b/src/objects/zcl_abapgit_object_vcls.clas.abap @@ -22,7 +22,7 @@ ENDCLASS. -CLASS ZCL_ABAPGIT_OBJECT_VCLS IMPLEMENTATION. +CLASS zcl_abapgit_object_vcls IMPLEMENTATION. METHOD is_locked. @@ -46,7 +46,11 @@ CLASS ZCL_ABAPGIT_OBJECT_VCLS IMPLEMENTATION. METHOD zif_abapgit_object~changed_by. - rv_user = c_user_unknown. " todo + SELECT SINGLE author FROM vcldir INTO rv_user + WHERE vclname = ms_item-obj_name. + IF sy-subrc <> 0. + rv_user = c_user_unknown. + ENDIF. ENDMETHOD. diff --git a/src/objects/zcl_abapgit_object_xinx.clas.abap b/src/objects/zcl_abapgit_object_xinx.clas.abap index 0a5cd4fc4..19f8eba05 100644 --- a/src/objects/zcl_abapgit_object_xinx.clas.abap +++ b/src/objects/zcl_abapgit_object_xinx.clas.abap @@ -98,7 +98,11 @@ CLASS zcl_abapgit_object_xinx IMPLEMENTATION. METHOD zif_abapgit_object~changed_by. - rv_user = c_user_unknown. " todo + SELECT SINGLE as4user FROM dd12l INTO rv_user + WHERE sqltab = mv_name AND indexname = mv_id. + IF sy-subrc <> 0. + rv_user = c_user_unknown. + ENDIF. ENDMETHOD.