mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
CLAS: better changed_by
but still not perfect
This commit is contained in:
parent
662ff0904e
commit
16fe500579
|
@ -3,7 +3,7 @@ REPORT zabapgit LINE-SIZE 100.
|
|||
* See http://www.abapgit.org
|
||||
|
||||
CONSTANTS: gc_xml_version TYPE string VALUE 'v1.0.0', "#EC NOTEXT
|
||||
gc_abap_version TYPE string VALUE 'v1.23.4'. "#EC NOTEXT
|
||||
gc_abap_version TYPE string VALUE 'v1.23.5'. "#EC NOTEXT
|
||||
|
||||
********************************************************************************
|
||||
* The MIT License (MIT)
|
||||
|
|
|
@ -102,6 +102,9 @@ CLASS lcl_object_clas DEFINITION INHERITING FROM lcl_objects_program.
|
|||
METHODS reduce
|
||||
CHANGING ct_source TYPE ty_string_tt.
|
||||
|
||||
METHODS get_all_class_includes
|
||||
RETURNING VALUE(rt_includes) TYPE seoincl_t.
|
||||
|
||||
ENDCLASS. "lcl_object_dtel DEFINITION
|
||||
|
||||
*----------------------------------------------------------------------*
|
||||
|
@ -121,6 +124,37 @@ ENDCLASS. "lcl_object_intf DEFINITION
|
|||
*----------------------------------------------------------------------*
|
||||
CLASS lcl_object_clas IMPLEMENTATION.
|
||||
|
||||
METHOD get_all_class_includes.
|
||||
* note: includes returned might not exist
|
||||
* method cl_oo_classname_service=>GET_ALL_CLASS_INCLUDES does not exist in 702
|
||||
|
||||
DATA: lv_clsname TYPE seoclsname,
|
||||
lt_methods TYPE seop_methods_w_include.
|
||||
|
||||
FIELD-SYMBOLS: <ls_method> LIKE LINE OF lt_methods.
|
||||
|
||||
|
||||
lv_clsname = ms_item-obj_name.
|
||||
|
||||
APPEND cl_oo_classname_service=>get_ccdef_name( lv_clsname ) TO rt_includes.
|
||||
APPEND cl_oo_classname_service=>get_ccmac_name( lv_clsname ) TO rt_includes.
|
||||
APPEND cl_oo_classname_service=>get_ccimp_name( lv_clsname ) TO rt_includes.
|
||||
APPEND cl_oo_classname_service=>get_cl_name( lv_clsname ) TO rt_includes.
|
||||
APPEND cl_oo_classname_service=>get_ccau_name( lv_clsname ) TO rt_includes.
|
||||
APPEND cl_oo_classname_service=>get_pubsec_name( lv_clsname ) TO rt_includes.
|
||||
APPEND cl_oo_classname_service=>get_prosec_name( lv_clsname ) TO rt_includes.
|
||||
APPEND cl_oo_classname_service=>get_prisec_name( lv_clsname ) TO rt_includes.
|
||||
APPEND cl_oo_classname_service=>get_classpool_name( lv_clsname ) TO rt_includes.
|
||||
APPEND cl_oo_classname_service=>get_ct_name( lv_clsname ) TO rt_includes.
|
||||
APPEND cl_oo_classname_service=>get_cs_name( lv_clsname ) TO rt_includes.
|
||||
|
||||
lt_methods = cl_oo_classname_service=>get_all_method_includes( lv_clsname ).
|
||||
LOOP AT lt_methods ASSIGNING <ls_method>.
|
||||
APPEND <ls_method>-incname TO rt_includes.
|
||||
ENDLOOP.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD lif_object~has_changed_since.
|
||||
|
||||
DATA: lv_clsname TYPE seoclsname,
|
||||
|
@ -169,18 +203,39 @@ CLASS lcl_object_clas IMPLEMENTATION.
|
|||
ENDMETHOD. "lif_object~get_metadata
|
||||
|
||||
METHOD lif_object~changed_by.
|
||||
* todo, not sure this is correct, to be tested
|
||||
SELECT SINGLE changedby FROM seoclassdf INTO rv_user
|
||||
WHERE clsname = ms_item-obj_name
|
||||
AND version = '1'. "#EC CI_GENBUFF
|
||||
IF sy-subrc = 0 AND rv_user IS INITIAL.
|
||||
SELECT SINGLE author FROM seoclassdf INTO rv_user
|
||||
WHERE clsname = ms_item-obj_name
|
||||
AND version = '1'. "#EC CI_GENBUFF
|
||||
ENDIF.
|
||||
|
||||
TYPES: BEGIN OF ty_includes,
|
||||
programm TYPE programm,
|
||||
END OF ty_includes.
|
||||
|
||||
TYPES: BEGIN OF ty_reposrc,
|
||||
unam TYPE reposrc-unam,
|
||||
udat TYPE reposrc-udat,
|
||||
utime TYPE reposrc-utime,
|
||||
END OF ty_reposrc.
|
||||
|
||||
DATA: lt_reposrc TYPE STANDARD TABLE OF ty_reposrc,
|
||||
ls_reposrc LIKE LINE OF lt_reposrc,
|
||||
lt_includes TYPE STANDARD TABLE OF ty_includes.
|
||||
|
||||
|
||||
lt_includes = get_all_class_includes( ).
|
||||
ASSERT lines( lt_includes ) > 0.
|
||||
|
||||
SELECT unam udat utime FROM reposrc
|
||||
INTO TABLE lt_reposrc
|
||||
FOR ALL ENTRIES IN lt_includes
|
||||
WHERE progname = lt_includes-programm
|
||||
AND r3state = 'A'.
|
||||
IF sy-subrc <> 0.
|
||||
rv_user = c_user_unknown.
|
||||
ELSE.
|
||||
SORT lt_reposrc BY udat DESCENDING utime DESCENDING.
|
||||
READ TABLE lt_reposrc INDEX 1 INTO ls_reposrc.
|
||||
ASSERT sy-subrc = 0.
|
||||
rv_user = ls_reposrc-unam.
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD lif_object~exists.
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
*& Include zabapgit_object_tabl_valid
|
||||
*&---------------------------------------------------------------------*
|
||||
|
||||
CLASS lcl_object_tabl_validation DEFINITION.
|
||||
CLASS lcl_object_tabl_validation DEFINITION FINAL.
|
||||
PUBLIC SECTION.
|
||||
METHODS validate
|
||||
IMPORTING
|
||||
|
@ -14,7 +14,7 @@ CLASS lcl_object_tabl_validation DEFINITION.
|
|||
lcx_exception.
|
||||
ENDCLASS.
|
||||
|
||||
CLASS lcl_tabl_validation_dialog DEFINITION.
|
||||
CLASS lcl_tabl_validation_dialog DEFINITION FINAL.
|
||||
PUBLIC SECTION.
|
||||
METHODS:
|
||||
constructor
|
||||
|
@ -91,7 +91,7 @@ CLASS lcl_tabl_validation_dialog IMPLEMENTATION.
|
|||
ENDCLASS.
|
||||
|
||||
|
||||
CLASS lct_table_validation DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT.
|
||||
CLASS lct_table_validation DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT FINAL.
|
||||
PRIVATE SECTION.
|
||||
METHODS:
|
||||
setup,
|
||||
|
|
|
@ -81,7 +81,7 @@ CLASS ltcl_convert IMPLEMENTATION.
|
|||
|
||||
ENDCLASS. "ltcl_convert IMPLEMENTATION
|
||||
|
||||
CLASS lth_critical_tests DEFINITION .
|
||||
CLASS lth_critical_tests DEFINITION FINAL.
|
||||
PUBLIC SECTION.
|
||||
CLASS-METHODS:
|
||||
check_run_permission.
|
||||
|
|
Loading…
Reference in New Issue
Block a user