diff --git a/src/zabapgit_file_status.prog.abap b/src/zabapgit_file_status.prog.abap index 35a48422b..827bf21ba 100644 --- a/src/zabapgit_file_status.prog.abap +++ b/src/zabapgit_file_status.prog.abap @@ -7,23 +7,6 @@ *----------------------------------------------------------------------* CLASS ltcl_file_status DEFINITION DEFERRED. CLASS ltcl_file_status2 DEFINITION DEFERRED. -CLASS lcl_skip_objects DEFINITION. - PUBLIC SECTION. - METHODS: - skip_sadl_generated_objects - IMPORTING - it_results TYPE lif_defs=>ty_results_tt - io_log TYPE REF TO lcl_log - RETURNING - VALUE(rt_results) TYPE lif_defs=>ty_results_tt. - PRIVATE SECTION. - METHODS: - has_sadl_superclass - IMPORTING - is_class TYPE lif_defs=>ty_result - RETURNING - VALUE(rv_return) TYPE abap_bool. -ENDCLASS. CLASS lcl_file_status DEFINITION FINAL FRIENDS ltcl_file_status ltcl_file_status2. @@ -162,8 +145,7 @@ CLASS lcl_file_status IMPLEMENTATION. METHOD status. DATA: lv_index LIKE sy-tabix, - lo_dot_abapgit TYPE REF TO lcl_dot_abapgit, - lo_skip_objects TYPE REF TO lcl_skip_objects. + lo_dot_abapgit TYPE REF TO lcl_dot_abapgit. FIELD-SYMBOLS LIKE LINE OF rt_results. @@ -187,12 +169,6 @@ CLASS lcl_file_status IMPLEMENTATION. ENDIF. ENDLOOP. - - CREATE OBJECT lo_skip_objects. - rt_results = lo_skip_objects->skip_sadl_generated_objects( - it_results = rt_results - io_log = io_log ). - run_checks( io_log = io_log it_results = rt_results diff --git a/src/zabapgit_repo_impl.prog.abap b/src/zabapgit_repo_impl.prog.abap index 8d5147f8a..bccf9b731 100644 --- a/src/zabapgit_repo_impl.prog.abap +++ b/src/zabapgit_repo_impl.prog.abap @@ -636,7 +636,8 @@ CLASS lcl_repo IMPLEMENTATION. lt_tadir = lcl_tadir=>read( iv_package = get_package( ) iv_ignore_subpackages = ignore_subpackages( ) - io_dot = get_dot_abapgit( ) ). + io_dot = get_dot_abapgit( ) + io_log = io_log ). lt_filter = it_filter. lv_filter_exist = boolc( lines( lt_filter ) > 0 ). diff --git a/src/zabapgit_skip_objects.prog.abap b/src/zabapgit_skip_objects.prog.abap index e4afe3d84..ccc528e30 100644 --- a/src/zabapgit_skip_objects.prog.abap +++ b/src/zabapgit_skip_objects.prog.abap @@ -4,30 +4,31 @@ CLASS lcl_skip_objects IMPLEMENTATION. METHOD skip_sadl_generated_objects. - DATA: ls_ddls_class_result LIKE LINE OF rt_results, - lo_sadl_class TYPE REF TO lif_object, - ls_item TYPE lif_defs=>ty_item, - ls_result LIKE LINE OF rt_results, - lt_lines_to_delete TYPE lif_defs=>ty_results_tt. + DATA: ls_tadir_class LIKE LINE OF rt_tadir, + lo_sadl_class TYPE REF TO lif_object, + ls_item TYPE lif_defs=>ty_tadir, + ls_tadir LIKE LINE OF rt_tadir, + lt_lines_to_delete TYPE lif_defs=>ty_tadir_tt. - rt_results = it_results. - LOOP AT it_results INTO ls_result WHERE obj_type = 'DDLS'. - LOOP AT it_results INTO ls_ddls_class_result - WHERE obj_type = 'CLAS' AND obj_name CS ls_result-obj_name. + rt_tadir = it_tadir. + LOOP AT it_tadir INTO ls_tadir WHERE object = 'DDLS'. + LOOP AT rt_tadir INTO ls_tadir_class + WHERE object = 'CLAS' AND obj_name CS ls_tadir-obj_name. - IF has_sadl_superclass( ls_ddls_class_result ). - APPEND ls_ddls_class_result TO lt_lines_to_delete. + IF has_sadl_superclass( ls_tadir_class ). + APPEND ls_tadir_class TO lt_lines_to_delete. ENDIF. ENDLOOP. ENDLOOP. - SORT lt_lines_to_delete BY filename. DELETE ADJACENT DUPLICATES FROM lt_lines_to_delete. - LOOP AT lt_lines_to_delete INTO ls_ddls_class_result. - DELETE TABLE rt_results FROM ls_ddls_class_result. - io_log->add( - iv_msg = |{ ls_ddls_class_result-filename } skipped: generated by SADL| - iv_type = 'W' ). + LOOP AT lt_lines_to_delete INTO ls_tadir_class. + DELETE TABLE rt_tadir FROM ls_tadir_class. + IF io_log IS BOUND. + io_log->add( + iv_msg = |{ ls_tadir_class-obj_name } skipped: generated by SADL| + iv_type = 'W' ). + ENDIF. ENDLOOP. ENDMETHOD. @@ -36,7 +37,7 @@ CLASS lcl_skip_objects IMPLEMENTATION. lv_class_name TYPE seoclsname, lv_superclass TYPE seoclsname. - lo_oo_functions = lcl_oo_factory=>make( is_class-obj_type ). + lo_oo_functions = lcl_oo_factory=>make( is_class-object ). lv_class_name = is_class-obj_name. lv_superclass = lo_oo_functions->read_superclass( lv_class_name ). IF lv_superclass = 'CL_SADL_GTK_EXPOSURE_MPC'. diff --git a/src/zabapgit_tadir.prog.abap b/src/zabapgit_tadir.prog.abap index b3170da02..52dd4118b 100644 --- a/src/zabapgit_tadir.prog.abap +++ b/src/zabapgit_tadir.prog.abap @@ -7,6 +7,24 @@ *----------------------------------------------------------------------* * *----------------------------------------------------------------------* +CLASS lcl_skip_objects DEFINITION. + PUBLIC SECTION. + METHODS: + skip_sadl_generated_objects + IMPORTING + it_tadir TYPE lif_defs=>ty_tadir_tt + io_log TYPE REF TO lcl_log OPTIONAL + RETURNING + VALUE(rt_tadir) TYPE lif_defs=>ty_tadir_tt. + PRIVATE SECTION. + METHODS: + has_sadl_superclass + IMPORTING + is_class TYPE lif_defs=>ty_tadir + RETURNING + VALUE(rv_return) TYPE abap_bool. +ENDCLASS. + CLASS lcl_tadir DEFINITION FINAL. PUBLIC SECTION. @@ -15,6 +33,7 @@ CLASS lcl_tadir DEFINITION FINAL. IMPORTING iv_package TYPE tadir-devclass iv_ignore_subpackages TYPE abap_bool DEFAULT abap_false io_dot TYPE REF TO lcl_dot_abapgit OPTIONAL + io_log TYPE REF TO lcl_log OPTIONAL RETURNING VALUE(rt_tadir) TYPE lif_defs=>ty_tadir_tt RAISING lcx_exception, read_single @@ -50,6 +69,7 @@ CLASS lcl_tadir DEFINITION FINAL. iv_top TYPE tadir-devclass io_dot TYPE REF TO lcl_dot_abapgit iv_ignore_subpackages TYPE abap_bool DEFAULT abap_false + io_log TYPE REF TO lcl_log OPTIONAL RETURNING VALUE(rt_tadir) TYPE lif_defs=>ty_tadir_tt RAISING lcx_exception. @@ -188,7 +208,8 @@ CLASS lcl_tadir IMPLEMENTATION. rt_tadir = build( iv_package = iv_package iv_top = iv_package io_dot = io_dot - iv_ignore_subpackages = iv_ignore_subpackages ). + iv_ignore_subpackages = iv_ignore_subpackages + io_log = io_log ). rt_tadir = check_exists( rt_tadir ). @@ -196,9 +217,10 @@ CLASS lcl_tadir IMPLEMENTATION. METHOD build. - DATA: lt_tadir TYPE lif_defs=>ty_tadir_tt, - lt_tdevc TYPE STANDARD TABLE OF tdevc, - lv_path TYPE string. + DATA: lt_tadir TYPE lif_defs=>ty_tadir_tt, + lt_tdevc TYPE STANDARD TABLE OF tdevc, + lv_path TYPE string, + lo_skip_objects TYPE REF TO lcl_skip_objects. FIELD-SYMBOLS: LIKE LINE OF lt_tdevc, LIKE LINE OF rt_tadir. @@ -216,6 +238,12 @@ CLASS lcl_tadir IMPLEMENTATION. AND delflag = abap_false ORDER BY PRIMARY KEY. "#EC CI_GENBUFF "#EC CI_SUBRC + CREATE OBJECT lo_skip_objects. + rt_tadir = lo_skip_objects->skip_sadl_generated_objects( + it_tadir = rt_tadir + io_log = io_log + ). + IF NOT io_dot IS INITIAL. lv_path = lcl_folder_logic=>package_to_path( iv_top = iv_top @@ -243,7 +271,8 @@ CLASS lcl_tadir IMPLEMENTATION. LOOP AT lt_tdevc ASSIGNING . lt_tadir = build( iv_package = -devclass iv_top = iv_top - io_dot = io_dot ). + io_dot = io_dot + io_log = io_log ). APPEND LINES OF lt_tadir TO rt_tadir. ENDLOOP.