Merge branch 'main' into mbtools/view_tddat

This commit is contained in:
Marc Bernard 2024-09-05 09:04:49 -04:00 committed by GitHub
commit 5e483b1b3e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -55,6 +55,7 @@ CLASS zcl_abapgit_repo_srv DEFINITION
!is_meta TYPE zif_abapgit_persistence=>ty_repo_xml
RAISING
zcx_abapgit_exception .
METHODS validate_sub_super_packages
IMPORTING
!iv_package TYPE devclass
@ -65,6 +66,13 @@ CLASS zcl_abapgit_repo_srv DEFINITION
!ev_reason TYPE string
RAISING
zcx_abapgit_exception .
METHODS validate_package_korrflag
IMPORTING
!iv_package TYPE devclass
!iv_ign_subpkg TYPE abap_bool DEFAULT abap_false
RAISING
zcx_abapgit_exception.
ENDCLASS.
@ -219,6 +227,35 @@ CLASS zcl_abapgit_repo_srv IMPLEMENTATION.
ENDMETHOD.
METHOD validate_package_korrflag.
DATA:
li_package TYPE REF TO zif_abapgit_sap_package,
lv_korrflag TYPE abap_bool,
lv_package TYPE devclass,
lt_packages TYPE zif_abapgit_sap_package=>ty_devclass_tt.
li_package = zcl_abapgit_factory=>get_sap_package( iv_package ).
IF li_package->exists( ) = abap_false.
" Skip dangling repository
RETURN.
ENDIF.
lv_korrflag = li_package->are_changes_recorded_in_tr_req( ).
IF iv_ign_subpkg = abap_false.
lt_packages = li_package->list_subpackages( ).
LOOP AT lt_packages INTO lv_package.
li_package = zcl_abapgit_factory=>get_sap_package( lv_package ).
IF li_package->exists( ) = abap_true AND li_package->are_changes_recorded_in_tr_req( ) <> lv_korrflag.
zcx_abapgit_exception=>raise( 'Mix of transportable and non-transportable packages is not supported' ).
ENDIF.
ENDLOOP.
ENDIF.
ENDMETHOD.
METHOD validate_sub_super_packages.
DATA:
@ -709,6 +746,11 @@ CLASS zcl_abapgit_repo_srv IMPLEMENTATION.
ENDIF.
ENDIF.
" Check if package hierarchy is a mix of transportable and local packages
validate_package_korrflag(
iv_package = iv_package
iv_ign_subpkg = iv_ign_subpkg ).
ENDMETHOD.