[INTF/CLAS] Make deserialization more robust (#6537)

Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>
Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
This commit is contained in:
Albert Mink 2023-10-13 15:32:18 +02:00 committed by GitHub
parent bea9757395
commit 73950de6dd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 39 additions and 10 deletions

View File

@ -29,6 +29,8 @@
"skwfc_obtype_folder",
"skwfc_obtype_loio",
"so2_controller",
"srext_ext_class_pool",
"srext_ext_interface_pool",
"ststc_c_type_dialog",
"ststc_c_type_object",
"ststc_c_type_parameters",

View File

@ -68,6 +68,8 @@
"skwfc_obtype_folder",
"skwfc_obtype_loio",
"so2_controller",
"srext_ext_class_pool",
"srext_ext_interface_pool",
"ststc_c_type_dialog",
"ststc_c_type_object",
"ststc_c_type_parameters",

4
deps/srext.type.abap vendored Normal file
View File

@ -0,0 +1,4 @@
TYPE-POOL srext.
CONSTANTS srext_ext_class_pool TYPE c LENGTH 2 VALUE 'CP'.
CONSTANTS srext_ext_interface_pool TYPE c LENGTH 2 VALUE 'IP'.

View File

@ -15,6 +15,9 @@ CLASS zcl_abapgit_oo_base DEFINITION
PRIVATE SECTION.
CONSTANTS c_docu_state_active TYPE dokstate VALUE 'A'. " See include SDOC_CONSTANTS
CONSTANTS c_include_program_type TYPE c LENGTH 1 VALUE 'I'.
CONSTANTS c_ip_program_type TYPE c LENGTH 1 VALUE 'J'.
CONSTANTS c_cp_program_type TYPE c LENGTH 1 VALUE 'K'.
DATA mv_skip_test_classes TYPE abap_bool .
ENDCLASS.
@ -276,7 +279,7 @@ CLASS zcl_abapgit_oo_base IMPLEMENTATION.
WHERE clsname = is_key-clsname
AND version <> seoc_version_deleted
AND state = seoc_state_implemented
AND alias = seox_false.
AND alias = seox_false ORDER BY PRIMARY KEY.
IF lt_components IS NOT INITIAL.
SELECT SINGLE masterlang FROM tadir INTO lv_lang
@ -322,7 +325,7 @@ CLASS zcl_abapgit_oo_base IMPLEMENTATION.
" make sure to not damage VSEO* views by deleting texts of all subcomponents - an empty text must be kept!!
SELECT * FROM vseosubcdf INTO TABLE lt_subcomponents
WHERE clsname = is_key-clsname
AND version <> seoc_version_deleted.
AND version <> seoc_version_deleted ORDER BY PRIMARY KEY.
IF lt_subcomponents IS NOT INITIAL.
SELECT SINGLE masterlang FROM tadir INTO lv_lang

View File

@ -510,11 +510,20 @@ CLASS zcl_abapgit_oo_class IMPLEMENTATION.
METHOD update_report.
DATA lv_type TYPE c LENGTH 1.
lv_type = zcl_abapgit_oo_base=>c_include_program_type.
IF iv_program+30 = srext_ext_class_pool.
lv_type = zcl_abapgit_oo_base=>c_cp_program_type.
ENDIF.
rv_updated = zcl_abapgit_factory=>get_sap_report( )->update_report(
iv_name = iv_program
iv_package = iv_package
iv_version = iv_version
it_source = it_source ).
iv_name = iv_program
iv_package = iv_package
iv_version = iv_version
it_source = it_source
iv_program_type = lv_type ).
ENDMETHOD.

View File

@ -144,11 +144,20 @@ CLASS zcl_abapgit_oo_interface IMPLEMENTATION.
METHOD update_report.
DATA lv_type TYPE c LENGTH 1.
lv_type = zcl_abapgit_oo_base=>c_include_program_type.
IF iv_program+30 = srext_ext_interface_pool.
lv_type = zcl_abapgit_oo_base=>c_ip_program_type.
ENDIF.
rv_updated = zcl_abapgit_factory=>get_sap_report( )->update_report(
iv_name = iv_program
iv_package = iv_package
iv_version = iv_version
it_source = it_source ).
iv_name = iv_program
iv_package = iv_package
iv_version = iv_version
it_source = it_source
iv_program_type = lv_type ).
ENDMETHOD.