TABL: consider DD12L in changed_by #1502

This commit is contained in:
larshp 2018-06-15 08:12:42 +00:00
parent 4f59c42fb4
commit d8a5f395ea

View File

@ -13,26 +13,44 @@ CLASS ZCL_ABAPGIT_OBJECT_TABL IMPLEMENTATION.
METHOD zif_abapgit_object~changed_by.
DATA: lv_as4date TYPE dd02l-as4date,
lv_as4time TYPE dd02l-as4time.
TYPES: BEGIN OF ty_data,
as4user TYPE as4user,
as4date TYPE as4date,
as4time TYPE as4time,
END OF ty_data.
DATA: lt_data TYPE STANDARD TABLE OF ty_data WITH DEFAULT KEY,
ls_data LIKE LINE OF lt_data.
SELECT SINGLE as4user as4date as4time
FROM dd02l INTO (rv_user, lv_as4date, lv_as4time)
SELECT as4user as4date as4time
FROM dd02l INTO TABLE lt_data
WHERE tabname = ms_item-obj_name
AND as4local = 'A'
AND as4vers = '0000'.
IF sy-subrc <> 0.
rv_user = c_user_unknown.
RETURN.
ENDIF.
SELECT SINGLE as4user INTO rv_user
SELECT as4user as4date as4time
APPENDING TABLE lt_data
FROM dd09l
WHERE tabname = ms_item-obj_name
AND as4local = 'A'
AND as4vers = '0000'
AND ( as4date > lv_as4date OR ( as4date = lv_as4date AND as4time > lv_as4time ) ).
AND as4vers = '0000'.
SELECT as4user as4date as4time
APPENDING TABLE lt_data
FROM dd12l
WHERE sqltab = ms_item-obj_name
AND as4local = 'A'
AND as4vers = '0000'.
SORT lt_data BY as4date DESCENDING as4time DESCENDING.
READ TABLE lt_data INDEX 1 INTO ls_data.
IF sy-subrc = 0.
rv_user = ls_data-as4user.
ELSE.
rv_user = c_user_unknown.
ENDIF.
ENDMETHOD.