mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 11:46:38 +08:00
Added Buffering to ZCL_ABAPGIT_SAP_PACKAGE (#1724)
* Added Buffering to ZCL_ABAPGIT_SAP_PACKAGE - Added a buffering option to ZCL_ABAPGIT_SAP_PACKAGE=>LIST_SUBPACKAGES, which gives a performance increase in repos with a deep tree structure, because all relevant packages are read from the DB only once and then the determination of subpackages is performed on an internal buffer table. * Used buffered SAP package information determination in file status processing * Level-based Subpackage Selection - Replaced buffered package access with level-based subpackage selection * Minor fix for select statements to avoid warnings
This commit is contained in:
parent
fa61f45886
commit
aa90f278b7
|
@ -265,21 +265,24 @@ CLASS ZCL_ABAPGIT_SAP_PACKAGE IMPLEMENTATION.
|
|||
|
||||
METHOD zif_abapgit_sap_package~list_subpackages.
|
||||
|
||||
DATA: lt_list LIKE rt_list,
|
||||
lv_devclass LIKE LINE OF rt_list.
|
||||
DATA: lv_children TYPE i.
|
||||
DATA: lt_list LIKE rt_list.
|
||||
|
||||
SELECT devclass FROM tdevc
|
||||
INTO TABLE rt_list
|
||||
INTO TABLE lt_list
|
||||
WHERE parentcl = mv_package
|
||||
ORDER BY PRIMARY KEY. "#EC CI_GENBUFF "#EC CI_SUBRC
|
||||
lv_children = sy-dbcnt.
|
||||
ORDER BY PRIMARY KEY. "#EC CI_SUBRC "#EC CI_GENBUFF
|
||||
|
||||
LOOP AT rt_list INTO lv_devclass FROM 1 TO lv_children.
|
||||
"Get Children of Child
|
||||
lt_list = zcl_abapgit_factory=>get_sap_package( lv_devclass )->list_subpackages( ).
|
||||
rt_list = lt_list.
|
||||
WHILE lines( lt_list ) > 0.
|
||||
|
||||
SELECT devclass FROM tdevc
|
||||
INTO TABLE lt_list
|
||||
FOR ALL ENTRIES IN lt_list
|
||||
WHERE parentcl = lt_list-table_line
|
||||
ORDER BY PRIMARY KEY. "#EC CI_SUBRC "#EC CI_GENBUFF
|
||||
APPEND LINES OF lt_list TO rt_list.
|
||||
ENDLOOP.
|
||||
|
||||
ENDWHILE.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
@ -292,8 +295,7 @@ CLASS ZCL_ABAPGIT_SAP_PACKAGE IMPLEMENTATION.
|
|||
|
||||
APPEND mv_package TO rt_list.
|
||||
|
||||
SELECT SINGLE parentcl INTO lv_parent
|
||||
FROM tdevc WHERE devclass = mv_package. "#EC CI_GENBUFF
|
||||
lv_parent = zif_abapgit_sap_package~read_parent( ).
|
||||
|
||||
IF sy-subrc = 0 AND NOT lv_parent IS INITIAL.
|
||||
lt_list = zcl_abapgit_factory=>get_sap_package( lv_parent )->list_superpackages( ).
|
||||
|
|
Loading…
Reference in New Issue
Block a user