'Duplicates' error: show duplicate object names (#3024)

* 'Duplicates' error: show duplicate object names

* Update zcl_abapgit_objects.clas.abap

* Update zcl_abapgit_objects.clas.abap
This commit is contained in:
Frederik Hudák 2019-11-01 17:22:04 +01:00 committed by Lars Hvam
parent dca54d2590
commit 509a69e480

View File

@ -298,14 +298,29 @@ CLASS ZCL_ABAPGIT_OBJECTS IMPLEMENTATION.
METHOD check_duplicates. METHOD check_duplicates.
DATA: lt_files TYPE zif_abapgit_definitions=>ty_files_tt. DATA: lt_files TYPE zif_abapgit_definitions=>ty_files_tt,
lv_path TYPE string,
lv_filename TYPE string,
lt_duplicates TYPE stringtab,
lv_all_duplicates TYPE string.
FIELD-SYMBOLS:
<lv_file> LIKE LINE OF it_files.
lt_files = it_files. lt_files = it_files.
SORT lt_files BY path ASCENDING filename ASCENDING. SORT lt_files BY path ASCENDING filename ASCENDING.
DELETE ADJACENT DUPLICATES FROM lt_files COMPARING path filename.
IF lines( lt_files ) <> lines( it_files ). LOOP AT lt_files ASSIGNING <lv_file>.
zcx_abapgit_exception=>raise( 'Duplicates' ). IF lv_path = <lv_file>-path AND lv_filename = <lv_file>-filename.
APPEND <lv_file>-path && <lv_file>-filename TO lt_duplicates.
ENDIF.
lv_path = <lv_file>-path.
lv_filename = <lv_file>-filename.
ENDLOOP.
IF lt_duplicates IS NOT INITIAL.
CONCATENATE LINES OF lt_duplicates INTO lv_all_duplicates SEPARATED BY `, `.
zcx_abapgit_exception=>raise( |Duplicates: { lv_all_duplicates }| ).
ENDIF. ENDIF.
ENDMETHOD. ENDMETHOD.
@ -435,7 +450,6 @@ CLASS ZCL_ABAPGIT_OBJECTS IMPLEMENTATION.
ls_obj_serializer_map-item = is_item. ls_obj_serializer_map-item = is_item.
ls_obj_serializer_map-metadata = is_metadata. ls_obj_serializer_map-metadata = is_metadata.
INSERT ls_obj_serializer_map INTO TABLE gt_obj_serializer_map. INSERT ls_obj_serializer_map INTO TABLE gt_obj_serializer_map.
lv_class_name = is_metadata-class. lv_class_name = is_metadata-class.
ELSE. ELSE.
lv_class_name = class_name( is_item ). lv_class_name = class_name( is_item ).