Merge branch 'main' into mbtools/extended_check_2

This commit is contained in:
Lars Hvam 2024-12-03 07:19:04 +01:00 committed by GitHub
commit 781d329332
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
17 changed files with 126 additions and 75 deletions

View File

@ -178,7 +178,7 @@ CLASS zcl_abapgit_apack_migration IMPLEMENTATION.
component_error = 4
no_access = 5
other = 6
OTHERS = 7.
OTHERS = 7 ##FM_SUBRC_OK.
CATCH cx_sy_dyn_call_param_not_found.
CALL FUNCTION 'SEO_INTERFACE_CREATE_COMPLETE'
EXPORTING

View File

@ -623,7 +623,7 @@ CLASS zcl_abapgit_cts_api IMPLEMENTATION.
ev_object = ls_list-object
ev_obj_name = ls_list-obj_name ).
INSERT ls_list INTO TABLE rt_list.
CATCH zcx_abapgit_exception.
CATCH zcx_abapgit_exception ##NO_HANDLER.
ENDTRY.
ENDCASE.
ENDLOOP.

View File

@ -49,7 +49,7 @@ ENDCLASS.
CLASS ZCL_ABAPGIT_DATA_UTILS IMPLEMENTATION.
CLASS zcl_abapgit_data_utils IMPLEMENTATION.
METHOD build_config_filename.
@ -196,7 +196,7 @@ CLASS ZCL_ABAPGIT_DATA_UTILS IMPLEMENTATION.
db_not_exists = 3
no_permission = 4
no_change_allowed = 5
table_is_gtt = 6
* table_is_gtt = 6 " not in lower releases
OTHERS = 7.
IF sy-subrc <> 0.
zcx_abapgit_exception=>raise( |Table { is_item-obj_name } cannot be displayed| ).

View File

@ -77,10 +77,12 @@ CLASS ltcl_abap_language_version DEFINITION FOR TESTING RISK LEVEL HARMLESS
PRIVATE SECTION.
" Cloud package hardcoded in cl_abap_language_version
CONSTANTS c_cloud_package TYPE devclass VALUE 'TEST_LANGUAGE_VERSION_SCP'.
CONSTANTS c_language_cfg TYPE seoclsname VALUE 'CL_ABAP_LANGUAGE_VERSION_CFG'.
DATA:
mt_versions TYPE string_table,
mv_has_cloud_package TYPE abap_bool,
mv_has_language_cfg TYPE abap_bool,
mo_environment TYPE REF TO lcl_environment,
mi_persistency TYPE REF TO zif_abapgit_persist_settings,
mo_dot_abapgit TYPE REF TO zcl_abapgit_dot_abapgit,
@ -364,9 +366,11 @@ CLASS ltcl_abap_language_version IMPLEMENTATION.
" Assume on-prem (no cloud)
set_environment( abap_false ).
cl_abap_unit_assert=>assert_equals(
act = mo_cut->is_import_allowed( '$TMP' ) " existing standard package
exp = iv_standard ).
IF mv_has_language_cfg = abap_true.
cl_abap_unit_assert=>assert_equals(
act = mo_cut->is_import_allowed( '$TMP' ) " existing standard package
exp = iv_standard ).
ENDIF.
IF mv_has_cloud_package = abap_true.
cl_abap_unit_assert=>assert_equals(
@ -381,9 +385,11 @@ CLASS ltcl_abap_language_version IMPLEMENTATION.
" Assume cloud platform
set_environment( abap_true ).
cl_abap_unit_assert=>assert_equals(
act = mo_cut->is_import_allowed( '$TMP' ) " existing standard package
exp = iv_standard ).
IF mv_has_language_cfg = abap_true.
cl_abap_unit_assert=>assert_equals(
act = mo_cut->is_import_allowed( '$TMP' ) " existing standard package
exp = iv_standard ).
ENDIF.
IF mv_has_cloud_package = abap_true.
cl_abap_unit_assert=>assert_equals(
@ -401,6 +407,19 @@ CLASS ltcl_abap_language_version IMPLEMENTATION.
METHOD is_import_allowed.
DATA lv_version TYPE string.
DATA ls_clskey TYPE seoclskey.
ls_clskey-clsname = c_language_cfg.
" Tests using ABAP language version "standard" only work if the required
" SAP class is available. In older releases, all packages will have
" ABAP language version "undefined" and are handled like a new package
CALL FUNCTION 'SEO_CLASS_EXISTENCE_CHECK'
EXPORTING
clskey = ls_clskey
EXCEPTIONS
OTHERS = 1.
mv_has_language_cfg = boolc( sy-subrc = 0 ).
LOOP AT mt_versions INTO lv_version.

View File

@ -50,7 +50,7 @@ CLASS zcl_abapgit_pr_enumerator IMPLEMENTATION.
mv_repo_url = to_lower( iv_url ).
TRY.
mi_enum_provider = create_provider( mv_repo_url ).
CATCH zcx_abapgit_exception.
CATCH zcx_abapgit_exception ##NO_HANDLER.
ENDTRY.
ENDMETHOD.

View File

@ -124,7 +124,7 @@ ENDCLASS.
CLASS ZCL_ABAPGIT_WHERE_USED_TOOLS IMPLEMENTATION.
CLASS zcl_abapgit_where_used_tools IMPLEMENTATION.
METHOD build_package_scope.
@ -311,7 +311,7 @@ CLASS ZCL_ABAPGIT_WHERE_USED_TOOLS IMPLEMENTATION.
not_enough_input = 1
no_function_pool = 2
delimiter_wrong_position = 3
OTHERS = 4.
OTHERS = 4 ##FM_SUBRC_OK.
IF lv_area IS INITIAL.
SELECT SINGLE master FROM d010inc INTO lv_program
@ -325,7 +325,7 @@ CLASS ZCL_ABAPGIT_WHERE_USED_TOOLS IMPLEMENTATION.
not_enough_input = 1
no_function_pool = 2
delimiter_wrong_position = 3
OTHERS = 4.
OTHERS = 4 ##FM_SUBRC_OK.
ENDIF.
IF lv_area IS NOT INITIAL.

View File

@ -119,7 +119,7 @@ CLASS zcl_abapgit_dependencies IMPLEMENTATION.
" AUTH after DCLS
<ls_tadir>-korrnum = '715000'.
WHEN 'SUSH'.
" SUSH after SUSC
" SUSH after SUSC and SRVB
<ls_tadir>-korrnum = '712000'.
WHEN 'SUSC'.
" SUSC after SUSO
@ -130,6 +130,14 @@ CLASS zcl_abapgit_dependencies IMPLEMENTATION.
WHEN 'DCLS'.
" AUTH and SUSO after DCLS
<ls_tadir>-korrnum = '705000'.
WHEN 'G4BA' OR 'G4BS' OR 'IWMO' OR 'IWSV' OR 'IWVB'.
" after SRVB
<ls_tadir>-korrnum = '610000'.
WHEN 'SRVB'.
" after SRVD
<ls_tadir>-korrnum = '600500'.
WHEN 'SRVD'.
<ls_tadir>-korrnum = '600000'.
WHEN 'IASP'.
<ls_tadir>-korrnum = '552000'.
WHEN 'IARP'.

View File

@ -245,6 +245,12 @@ CLASS zcl_abapgit_file_deserialize IMPLEMENTATION.
WHEN 'ENSC'.
lt_requires = lt_items.
DELETE lt_requires WHERE obj_type <> 'ENHS'.
WHEN 'IWMO' OR 'IWSV' OR 'IWVB' OR 'SUSH'.
lt_requires = lt_items.
DELETE lt_requires WHERE obj_type <> 'SRVB'.
WHEN 'SRVB'.
lt_requires = lt_items.
DELETE lt_requires WHERE obj_type <> 'SRVD'.
ENDCASE.
* TODO: END extract to object handler method

View File

@ -37,10 +37,7 @@ CLASS ltcl_field_rules DEFINITION FOR TESTING RISK LEVEL HARMLESS
RETURNING
VALUE(ri_rules) TYPE REF TO zif_abapgit_field_rules,
apply_clear_logic FOR TESTING,
apply_fill_logic FOR TESTING,
get_utc_timestamp
RETURNING
VALUE(rv_timestamp) TYPE timestamp.
apply_fill_logic FOR TESTING.
ENDCLASS.
@ -88,7 +85,7 @@ CLASS ltcl_field_rules IMPLEMENTATION.
METHOD fill3.
DATA lv_timestamp TYPE timestamp.
lv_timestamp = get_utc_timestamp( ).
GET TIME STAMP FIELD lv_timestamp.
fill_value(
iv_rule = zif_abapgit_field_rules=>c_fill_rule-timestamp
iv_len = 10
@ -205,6 +202,8 @@ CLASS ltcl_field_rules IMPLEMENTATION.
lv_ts TYPE string,
lv_timestamp TYPE timestamp.
GET TIME STAMP FIELD lv_timestamp.
ls_act-key = 1.
INSERT ls_act INTO TABLE lt_act.
ls_act-key = 2.
@ -241,17 +240,16 @@ CLASS ltcl_field_rules IMPLEMENTATION.
act = ls_act-time(4)
exp = sy-uzeit(4) ). " avoid comparing seconds
lv_timestamp = get_utc_timestamp( ).
lv_ts = ls_act-ts.
lv_ts = lv_ts(12).
lv_ts = lv_ts(10).
cl_abap_unit_assert=>assert_equals(
act = lv_ts
exp = |{ lv_timestamp DIV 100 }| ). " avoid comparing second
exp = |{ lv_timestamp DIV 10000 }| ). " avoid comparing second
lv_ts = ls_act-tl.
lv_ts = lv_ts(12).
lv_ts = lv_ts(10).
cl_abap_unit_assert=>assert_equals(
act = lv_ts
exp = |{ lv_timestamp DIV 100 }| ). " avoid comparing seconds
exp = |{ lv_timestamp DIV 10000 }| ). " avoid comparing seconds
READ TABLE lt_act INTO ls_act INDEX 2.
@ -269,21 +267,4 @@ CLASS ltcl_field_rules IMPLEMENTATION.
exp = sy-uzeit(4) ). " avoid comparing seconds
ENDMETHOD.
METHOD get_utc_timestamp.
DATA lv_syst_timezone TYPE timezone.
CALL FUNCTION 'GET_SYSTEM_TIMEZONE'
IMPORTING
timezone = lv_syst_timezone
EXCEPTIONS
customizing_missing = 1
OTHERS = 2.
IF sy-subrc <> 0.
cl_abap_unit_assert=>fail( 'Could not get system timezone' ).
ENDIF.
CONVERT DATE sy-datum TIME sy-uzeit
INTO TIME STAMP rv_timestamp
TIME ZONE lv_syst_timezone.
ENDMETHOD.
ENDCLASS.

View File

@ -37,13 +37,17 @@ CLASS zcl_abapgit_object_msag DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
zcx_abapgit_exception .
METHODS delete_msgid
IMPORTING
!iv_message_id TYPE arbgb .
!iv_message_id TYPE arbgb
RAISING
zcx_abapgit_exception.
METHODS free_access_permission
IMPORTING
!iv_message_id TYPE arbgb .
METHODS delete_documentation
IMPORTING
!iv_message_id TYPE arbgb .
!iv_message_id TYPE arbgb
RAISING
zcx_abapgit_exception.
ENDCLASS.
@ -61,9 +65,7 @@ CLASS zcl_abapgit_object_msag IMPLEMENTATION.
element = iv_message_id
addition = ' '
IMPORTING
object = lv_key_s
EXCEPTIONS
OTHERS = 0.
object = lv_key_s.
CALL FUNCTION 'DOKU_DELETE_ALL'
EXPORTING
@ -80,7 +82,11 @@ CLASS zcl_abapgit_object_msag IMPLEMENTATION.
no_docu_found = 4
object_is_already_enqueued = 5
object_is_enqueued_by_corr = 6
user_break = 7.
user_break = 7
OTHERS = 8.
IF sy-subrc <> 0.
zcx_abapgit_exception=>raise( 'Error deleting longtext for message' ).
ENDIF.
ENDMETHOD.

View File

@ -129,6 +129,18 @@ CLASS zcl_abapgit_object_srvb IMPLEMENTATION.
CHANGING
cs_service_binding = cs_service_binding ).
clear_field(
EXPORTING
iv_fieldname = 'METADATA-RESPONSIBLE'
CHANGING
cs_service_binding = cs_service_binding ).
clear_field(
EXPORTING
iv_fieldname = 'METADATA-MASTER_LANGUAGE'
CHANGING
cs_service_binding = cs_service_binding ).
ENDMETHOD.

View File

@ -53,7 +53,7 @@ CLASS zcl_abapgit_persist_migrate IMPLEMENTATION.
TRY.
lcl_cua_interface=>new( )->put_own_cua( ls_cua ).
CATCH zcx_abapgit_exception.
CATCH zcx_abapgit_exception ##NO_HANDLER.
ENDTRY.
ENDMETHOD.
@ -70,7 +70,7 @@ CLASS zcl_abapgit_persist_migrate IMPLEMENTATION.
TRY.
ls_own_cua = lcl_cua_interface=>new( )->get_own_cua( ).
CATCH zcx_abapgit_exception.
CATCH zcx_abapgit_exception ##NO_HANDLER.
ENDTRY.
IF ls_own_cua IS INITIAL.

View File

@ -136,7 +136,7 @@ CLASS zcl_abapgit_repo_labels IMPLEMENTATION.
TRY.
validate_one_label_color( <ls_c> ).
APPEND <ls_c> TO lt_normalized.
CATCH zcx_abapgit_exception.
CATCH zcx_abapgit_exception ##NO_HANDLER.
ENDTRY.
ENDLOOP.
@ -225,7 +225,7 @@ CLASS zcl_abapgit_repo_labels IMPLEMENTATION.
ro_map->set(
iv_key = <ls_c>-label
iv_val = <ls_c>-color ).
CATCH zcx_abapgit_exception.
CATCH zcx_abapgit_exception ##NO_HANDLER.
ENDTRY.
ENDLOOP.

View File

@ -146,6 +146,7 @@ CLASS zcl_abapgit_exception_viewer IMPLEMENTATION.
METHOD goto_message.
DATA: lv_msg TYPE c LENGTH 100.
DATA: lt_bdcdata TYPE STANDARD TABLE OF bdcdata,
ls_bdcdata LIKE LINE OF lt_bdcdata.
@ -177,17 +178,18 @@ CLASS zcl_abapgit_exception_viewer IMPLEMENTATION.
CALL FUNCTION 'ABAP4_CALL_TRANSACTION'
STARTING NEW TASK 'GIT'
EXPORTING
tcode = 'SE91'
mode_val = 'E'
tcode = 'SE91'
mode_val = 'E'
TABLES
using_tab = lt_bdcdata
using_tab = lt_bdcdata
EXCEPTIONS
call_transaction_denied = 1
tcode_invalid = 2
OTHERS = 3.
system_failure = 1 MESSAGE lv_msg
communication_failure = 2 MESSAGE lv_msg
resource_failure = 3
OTHERS = 4.
IF sy-subrc <> 0.
zcx_abapgit_exception=>raise_t100( ).
zcx_abapgit_exception=>raise( lv_msg ).
ENDIF.
ENDMETHOD.

View File

@ -331,12 +331,15 @@ CLASS ltcl_bcp47_to_sap1 IMPLEMENTATION.
DATA lv_result TYPE sy-langu.
lv_result = zcl_abapgit_convert=>language_bcp47_to_sap1( im_from ).
cl_abap_unit_assert=>assert_equals( exp = im_to
act = lv_result ).
cl_abap_unit_assert=>assert_equals(
exp = im_to
act = lv_result
msg = |Converting "{ im_from }" should result in "{ im_to }"| ).
ENDMETHOD.
METHOD assert_bcp47_to_sap1_fail.
DATA lv_result TYPE string.
DATA lv_act TYPE sy-subrc.
zcl_abapgit_convert=>language_bcp47_to_sap1(
EXPORTING
@ -345,10 +348,15 @@ CLASS ltcl_bcp47_to_sap1 IMPLEMENTATION.
re_lang_sap1 = lv_result
EXCEPTIONS
no_assignment = 1
OTHERS = 2 ).
OTHERS = 2 ).
cl_abap_unit_assert=>assert_equals( exp = 1
act = sy-subrc ).
" Assert itself might change sy-subrc (it does in 702!)
lv_act = sy-subrc.
cl_abap_unit_assert=>assert_equals(
exp = 1
act = lv_act
msg = |Converting "{ im_from }" should fail| ).
ENDMETHOD.
METHOD english.
@ -466,14 +474,18 @@ CLASS ltcl_sap1_to_bcp47 IMPLEMENTATION.
METHOD assert_sap1_to_bcp47.
DATA lv_result TYPE string.
lv_result = zcl_abapgit_convert=>language_sap1_to_bcp47( im_from ).
cl_abap_unit_assert=>assert_equals( exp = im_to
act = lv_result ).
cl_abap_unit_assert=>assert_equals(
exp = im_to
act = lv_result
msg = |Converting "{ im_from }" should result in "{ im_to }"| ).
ENDMETHOD.
METHOD assert_sap1_to_bcp47_fail.
DATA lv_result TYPE string.
DATA lv_act TYPE sy-subrc.
zcl_abapgit_convert=>language_sap1_to_bcp47(
EXPORTING
@ -482,10 +494,15 @@ CLASS ltcl_sap1_to_bcp47 IMPLEMENTATION.
re_lang_bcp47 = lv_result
EXCEPTIONS
no_assignment = 1
OTHERS = 2 ).
OTHERS = 2 ).
cl_abap_unit_assert=>assert_equals( exp = 1
act = sy-subrc ).
" Assert itself might change sy-subrc (it does in 702!)
lv_act = sy-subrc.
cl_abap_unit_assert=>assert_equals(
exp = 1
act = lv_act
msg = |Converting "{ im_from }" should fail| ).
ENDMETHOD.
METHOD english.

View File

@ -81,18 +81,18 @@ CLASS lcl_startup IMPLEMENTATION.
" - open a specific repo by package name provided by ADT
" These overrule the last shown repo
GET PARAMETER ID zif_abapgit_definitions=>c_spagpa_param_repo_key FIELD lv_repo_key.
GET PARAMETER ID zif_abapgit_definitions=>c_spagpa_param_package FIELD lv_package.
GET PARAMETER ID zif_abapgit_definitions=>c_spagpa_param_repo_key FIELD lv_repo_key ##EXISTS.
GET PARAMETER ID zif_abapgit_definitions=>c_spagpa_param_package FIELD lv_package ##EXISTS.
lv_package_adt = get_package_from_adt( ).
IF lv_repo_key IS NOT INITIAL.
SET PARAMETER ID zif_abapgit_definitions=>c_spagpa_param_repo_key FIELD ''.
SET PARAMETER ID zif_abapgit_definitions=>c_spagpa_param_repo_key FIELD '' ##EXISTS.
zcl_abapgit_persistence_user=>get_instance( )->set_repo_show( lv_repo_key ).
ELSEIF lv_package IS NOT INITIAL.
SET PARAMETER ID zif_abapgit_definitions=>c_spagpa_param_package FIELD ''.
SET PARAMETER ID zif_abapgit_definitions=>c_spagpa_param_package FIELD '' ##EXISTS.
set_start_repo_from_package( lv_package ).
ELSEIF lv_package_adt IS NOT INITIAL.
@ -198,7 +198,7 @@ CLASS lcl_startup IMPLEMENTATION.
ENDIF.
CATCH cx_root.
CATCH cx_root ##NO_HANDLER.
" Some problems with dynamic ADT access.
" Let's ignore it for now and fail silently
ENDTRY.

View File

@ -181,7 +181,7 @@ FORM password_popup
pv_repo_url TYPE string
CHANGING
cv_user TYPE string
cv_pass TYPE string.
cv_pass TYPE string ##CALLED.
lcl_password_dialog=>popup(
EXPORTING