From 9f50c2d59e935d6ed37f16096786adbefe7a69d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20K=C3=A4semann?= Date: Mon, 23 Jul 2018 15:49:26 +0200 Subject: [PATCH] ZIF_ABAPGIT_SAP_PACKAGE~LIST_SUBPACKAGES in ZCL_ABAPGIT_SAP_PACKAGE returned duplicate entries for subpackages with more than 1 hierarchy level, because the recursion selected all subpackages of a given package and added them to the list and then parsed the added subpackages again, which would in turn again select the subpackages of the subpackage. --- src/zcl_abapgit_sap_package.clas.abap | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/zcl_abapgit_sap_package.clas.abap b/src/zcl_abapgit_sap_package.clas.abap index fd8e29b98..25d7f8a1a 100644 --- a/src/zcl_abapgit_sap_package.clas.abap +++ b/src/zcl_abapgit_sap_package.clas.abap @@ -269,11 +269,13 @@ CLASS ZCL_ABAPGIT_SAP_PACKAGE IMPLEMENTATION. lv_devclass LIKE LINE OF rt_list. - SELECT devclass INTO TABLE rt_list - FROM tdevc WHERE parentcl = mv_package. "#EC CI_GENBUFF "#EC CI_SUBRC + SELECT devclass FROM tdevc + INTO TABLE rt_list + WHERE parentcl = mv_package. "#EC CI_GENBUFF "#EC CI_SUBRC + children = sy-dbcnt. -* note the recursion, since packages are added to the list - LOOP AT rt_list INTO lv_devclass. + LOOP AT rt_list INTO lv_devclass FROM 1 TO children. + "Get Children of Child lt_list = zcl_abapgit_factory=>get_sap_package( lv_devclass )->list_subpackages( ). APPEND LINES OF lt_list TO rt_list. ENDLOOP.