mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-02 13:03:01 +08:00
fix long class names, close #434
This commit is contained in:
parent
157f7356f0
commit
b6652331e9
|
@ -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.21.4'. "#EC NOTEXT
|
||||
gc_abap_version TYPE string VALUE 'v1.21.5'. "#EC NOTEXT
|
||||
|
||||
********************************************************************************
|
||||
* The MIT License (MIT)
|
||||
|
|
|
@ -25,6 +25,10 @@ CLASS lcl_objects_activation DEFINITION FINAL.
|
|||
CLASS-METHODS clear.
|
||||
|
||||
PRIVATE SECTION.
|
||||
CLASS-METHODS fix_class_methods
|
||||
IMPORTING iv_obj_name TYPE trobj_name
|
||||
CHANGING ct_objects TYPE dwinactiv_tab.
|
||||
|
||||
CLASS-DATA: gt_ddic TYPE TABLE OF dwinactiv,
|
||||
gt_programs TYPE TABLE OF dwinactiv.
|
||||
|
||||
|
@ -87,6 +91,40 @@ CLASS lcl_objects_activation IMPLEMENTATION.
|
|||
|
||||
ENDMETHOD. "activate
|
||||
|
||||
METHOD fix_class_methods.
|
||||
* function module RS_WORKING_OBJECTS_ACTIVATE assumes that
|
||||
* METH lines contains spaces between class and method name
|
||||
* however, classes named with 30 characters
|
||||
* eg. ZCL_CLAS_TESTTESTTESTTESTTESTT
|
||||
* this will not be true, so find all the method includes instead
|
||||
|
||||
DATA: lt_methods TYPE seop_methods_w_include,
|
||||
lv_class TYPE seoclsname.
|
||||
|
||||
FIELD-SYMBOLS: <ls_method> LIKE LINE OF lt_methods,
|
||||
<ls_object> LIKE LINE OF ct_objects.
|
||||
|
||||
|
||||
lv_class = iv_obj_name.
|
||||
|
||||
cl_oo_classname_service=>get_all_method_includes(
|
||||
EXPORTING
|
||||
clsname = lv_class
|
||||
RECEIVING
|
||||
result = lt_methods
|
||||
EXCEPTIONS
|
||||
class_not_existing = 1
|
||||
OTHERS = 2 ).
|
||||
ASSERT sy-subrc = 0.
|
||||
DELETE ct_objects WHERE object = 'METH'.
|
||||
LOOP AT lt_methods ASSIGNING <ls_method>.
|
||||
APPEND INITIAL LINE TO ct_objects ASSIGNING <ls_object>.
|
||||
<ls_object>-object = 'METH'.
|
||||
<ls_object>-obj_name = <ls_method>-incname.
|
||||
ENDLOOP.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD add.
|
||||
|
||||
* function group SEWORKINGAREA
|
||||
|
@ -117,6 +155,11 @@ CLASS lcl_objects_activation IMPLEMENTATION.
|
|||
lcx_exception=>raise( 'Error from RS_INACTIVE_OBJECTS_IN_OBJECT' ).
|
||||
ENDIF.
|
||||
|
||||
IF iv_type = 'CLAS'.
|
||||
fix_class_methods( EXPORTING iv_obj_name = lv_obj_name
|
||||
CHANGING ct_objects = lt_objects ).
|
||||
ENDIF.
|
||||
|
||||
APPEND LINES OF lt_objects TO gt_programs.
|
||||
WHEN 'DOMA' OR 'DTEL' OR 'TABL' OR 'INDX' OR 'TTYP'
|
||||
OR 'VIEW' OR 'SHLP' OR 'ENQU'
|
||||
|
@ -1561,7 +1604,7 @@ CLASS lcl_objects DEFINITION FINAL.
|
|||
|
||||
PRIVATE SECTION.
|
||||
|
||||
CLASS-DATA: mv_langs_installed type scplangs.
|
||||
CLASS-DATA: mv_langs_installed TYPE scplangs.
|
||||
|
||||
CLASS-METHODS check_duplicates
|
||||
IMPORTING it_files TYPE ty_files_tt
|
||||
|
|
Loading…
Reference in New Issue
Block a user