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.
|
METHOD zif_abapgit_sap_package~list_subpackages.
|
||||||
|
|
||||||
DATA: lt_list LIKE rt_list,
|
DATA: lt_list LIKE rt_list.
|
||||||
lv_devclass LIKE LINE OF rt_list.
|
|
||||||
DATA: lv_children TYPE i.
|
|
||||||
|
|
||||||
SELECT devclass FROM tdevc
|
SELECT devclass FROM tdevc
|
||||||
INTO TABLE rt_list
|
INTO TABLE lt_list
|
||||||
WHERE parentcl = mv_package
|
WHERE parentcl = mv_package
|
||||||
ORDER BY PRIMARY KEY. "#EC CI_GENBUFF "#EC CI_SUBRC
|
ORDER BY PRIMARY KEY. "#EC CI_SUBRC "#EC CI_GENBUFF
|
||||||
lv_children = sy-dbcnt.
|
|
||||||
|
|
||||||
LOOP AT rt_list INTO lv_devclass FROM 1 TO lv_children.
|
rt_list = lt_list.
|
||||||
"Get Children of Child
|
WHILE lines( lt_list ) > 0.
|
||||||
lt_list = zcl_abapgit_factory=>get_sap_package( lv_devclass )->list_subpackages( ).
|
|
||||||
|
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.
|
APPEND LINES OF lt_list TO rt_list.
|
||||||
ENDLOOP.
|
|
||||||
|
ENDWHILE.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -292,8 +295,7 @@ CLASS ZCL_ABAPGIT_SAP_PACKAGE IMPLEMENTATION.
|
||||||
|
|
||||||
APPEND mv_package TO rt_list.
|
APPEND mv_package TO rt_list.
|
||||||
|
|
||||||
SELECT SINGLE parentcl INTO lv_parent
|
lv_parent = zif_abapgit_sap_package~read_parent( ).
|
||||||
FROM tdevc WHERE devclass = mv_package. "#EC CI_GENBUFF
|
|
||||||
|
|
||||||
IF sy-subrc = 0 AND NOT lv_parent IS INITIAL.
|
IF sy-subrc = 0 AND NOT lv_parent IS INITIAL.
|
||||||
lt_list = zcl_abapgit_factory=>get_sap_package( lv_parent )->list_superpackages( ).
|
lt_list = zcl_abapgit_factory=>get_sap_package( lv_parent )->list_superpackages( ).
|
||||||
|
|
Loading…
Reference in New Issue
Block a user