ENHO: implement changed_by #1417 (#1436)

This commit is contained in:
Lars Hvam 2018-06-04 15:10:49 +02:00 committed by GitHub
parent 71787d74f0
commit 068cf963d9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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.