From 068cf963d9b5ab66d05dc7f4b0e029867beffd57 Mon Sep 17 00:00:00 2001 From: Lars Hvam Date: Mon, 4 Jun 2018 15:10:49 +0200 Subject: [PATCH] ENHO: implement changed_by #1417 (#1436) --- src/objects/zcl_abapgit_object_enho.clas.abap | 39 ++++++++++++++++++- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/src/objects/zcl_abapgit_object_enho.clas.abap b/src/objects/zcl_abapgit_object_enho.clas.abap index c0c58b541..37cb6a774 100644 --- a/src/objects/zcl_abapgit_object_enho.clas.abap +++ b/src/objects/zcl_abapgit_object_enho.clas.abap @@ -28,8 +28,43 @@ CLASS zcl_abapgit_object_enho IMPLEMENTATION. ENDMETHOD. "zif_abapgit_object~get_metadata METHOD zif_abapgit_object~changed_by. - rv_user = c_user_unknown. " todo - ENDMETHOD. "zif_abapgit_object~changed_by + + DATA: lv_enh_id TYPE enhname, + li_enho TYPE REF TO zif_abapgit_object_enho, + lt_log TYPE enh_log_it, + li_log_obj TYPE REF TO if_enh_log, + ls_enhlog TYPE enhlog, + lv_lines TYPE i, + lt_enhlog TYPE STANDARD TABLE OF enhlog WITH DEFAULT KEY, + li_enh_tool TYPE REF TO if_enh_tool. + + + lv_enh_id = ms_item-obj_name. + TRY. + li_enh_tool = cl_enh_factory=>get_enhancement( + enhancement_id = lv_enh_id + bypassing_buffer = abap_true ). + CATCH cx_enh_root. + rv_user = c_user_unknown. + RETURN. + ENDTRY. + + lt_log = li_enh_tool->get_log( ). + + LOOP AT lt_log INTO li_log_obj. + ls_enhlog = li_log_obj->get_enhlog( ). + APPEND ls_enhlog TO lt_enhlog. + ENDLOOP. + + lv_lines = lines( lt_enhlog ). + READ TABLE lt_enhlog INTO ls_enhlog INDEX lv_lines. + IF sy-subrc = 0. + rv_user = ls_enhlog-loguser. + ELSE. + rv_user = c_user_unknown. + ENDIF. + + ENDMETHOD. METHOD zif_abapgit_object~exists.