Check if package name is allowed (#5416)

* Check if package name is allowed

When validating SAP packages, it now checks the naming conventions.

* Move method

Co-authored-by: Lars Hvam <larshp@hotmail.com>
This commit is contained in:
Marc Bernard 2022-03-31 14:57:48 +02:00 committed by GitHub
parent f712eb17a5
commit 30371b9a8f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 34 additions and 8 deletions

View File

@ -80,7 +80,7 @@ ENDCLASS.
CLASS ZCL_ABAPGIT_REPO_SRV IMPLEMENTATION. CLASS zcl_abapgit_repo_srv IMPLEMENTATION.
METHOD add. METHOD add.
@ -622,13 +622,7 @@ CLASS ZCL_ABAPGIT_REPO_SRV IMPLEMENTATION.
li_repo TYPE REF TO zif_abapgit_repo, li_repo TYPE REF TO zif_abapgit_repo,
lv_reason TYPE string. lv_reason TYPE string.
IF iv_package IS INITIAL. zcl_abapgit_sap_package=>validate_name( iv_package ).
zcx_abapgit_exception=>raise( 'add, package empty' ).
ENDIF.
IF iv_package = '$TMP'.
zcx_abapgit_exception=>raise( 'not possible to use $TMP, create new (local) package' ).
ENDIF.
" Check if package owned by SAP is allowed (new packages are ok, since they are created automatically) " Check if package owned by SAP is allowed (new packages are ok, since they are created automatically)
SELECT SINGLE as4user FROM tdevc SELECT SINGLE as4user FROM tdevc

View File

@ -9,6 +9,12 @@ CLASS zcl_abapgit_sap_package DEFINITION
INTERFACES: zif_abapgit_sap_package. INTERFACES: zif_abapgit_sap_package.
CLASS-METHODS validate_name
IMPORTING
!iv_package TYPE devclass
RAISING
zcx_abapgit_exception .
PROTECTED SECTION. PROTECTED SECTION.
PRIVATE SECTION. PRIVATE SECTION.
DATA: mv_package TYPE devclass. DATA: mv_package TYPE devclass.
@ -25,6 +31,32 @@ CLASS zcl_abapgit_sap_package IMPLEMENTATION.
ENDMETHOD. ENDMETHOD.
METHOD validate_name.
IF iv_package IS INITIAL.
zcx_abapgit_exception=>raise( 'Package name must not be empty' ).
ENDIF.
IF iv_package = '$TMP'.
zcx_abapgit_exception=>raise( 'It is not possible to use $TMP, use a different (local) package' ).
ENDIF.
" Check if package name is allowed
cl_package_helper=>check_package_name(
EXPORTING
i_package_name = iv_package
EXCEPTIONS
undefined_name = 1
wrong_name_prefix = 2
reserved_local_name = 3
invalid_package_name = 4 ).
IF sy-subrc <> 0.
zcx_abapgit_exception=>raise( |Package name { iv_package } is not valid| ).
ENDIF.
ENDMETHOD.
METHOD zif_abapgit_sap_package~are_changes_recorded_in_tr_req. METHOD zif_abapgit_sap_package~are_changes_recorded_in_tr_req.
DATA: li_package TYPE REF TO if_package. DATA: li_package TYPE REF TO if_package.