diff --git a/src/zcl_abapgit_file_status.clas.abap b/src/zcl_abapgit_file_status.clas.abap index 5a324a16d..a44b9f6b7 100644 --- a/src/zcl_abapgit_file_status.clas.abap +++ b/src/zcl_abapgit_file_status.clas.abap @@ -57,7 +57,7 @@ ENDCLASS. -CLASS zcl_abapgit_file_status IMPLEMENTATION. +CLASS ZCL_ABAPGIT_FILE_STATUS IMPLEMENTATION. METHOD build_existing. @@ -190,6 +190,7 @@ CLASS zcl_abapgit_file_status IMPLEMENTATION. lt_items TYPE zif_abapgit_definitions=>ty_items_tt, ls_item LIKE LINE OF lt_items, lv_is_xml TYPE abap_bool, + lv_sub_fetched TYPE abap_bool, lt_sub_packages TYPE zif_abapgit_sap_package=>ty_devclass_tt, lt_items_idx TYPE zif_abapgit_definitions=>ty_items_ts, lt_state_idx TYPE zif_abapgit_definitions=>ty_file_signatures_ts. " Sorted by path+filename @@ -241,8 +242,11 @@ CLASS zcl_abapgit_file_status IMPLEMENTATION. iv_obj_name = ls_item-obj_name ). IF NOT ls_item-devclass IS INITIAL AND iv_devclass <> ls_item-devclass. + IF lv_sub_fetched = abap_false. + lt_sub_packages = zcl_abapgit_factory=>get_sap_package( iv_devclass )->list_subpackages( ). + lv_sub_fetched = abap_true. + ENDIF. * make sure the package is under the repo main package - lt_sub_packages = zcl_abapgit_factory=>get_sap_package( iv_devclass )->list_subpackages( ). READ TABLE lt_sub_packages WITH KEY table_line = ls_item-devclass TRANSPORTING NO FIELDS. IF sy-subrc <> 0. CLEAR ls_item-devclass.