Make exceptions compatible with 702 (#5116)

* Make exceptions compatible with 702

702 does not deserialize exception classes correctly that have a constructor in a super class (see #1273). Adding an explicit constructor that calls the super-constructor, the issue is avoided.

* Pretty

Co-authored-by: Lars Hvam <larshp@hotmail.com>
This commit is contained in:
Marc Bernard 2021-11-14 06:28:38 +00:00 committed by GitHub
parent 7affd4e918
commit 060abb8635
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 44 additions and 3 deletions

View File

@ -2,13 +2,42 @@ CLASS zcx_abapgit_cancel DEFINITION
PUBLIC
INHERITING FROM zcx_abapgit_exception
FINAL
CREATE PUBLIC .
CREATE PUBLIC.
PUBLIC SECTION.
METHODS constructor
IMPORTING
!textid LIKE if_t100_message=>t100key OPTIONAL
!previous LIKE previous OPTIONAL
!ii_log TYPE REF TO zif_abapgit_log OPTIONAL
!msgv1 TYPE symsgv OPTIONAL
!msgv2 TYPE symsgv OPTIONAL
!msgv3 TYPE symsgv OPTIONAL
!msgv4 TYPE symsgv OPTIONAL.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
CLASS ZCX_ABAPGIT_CANCEL IMPLEMENTATION.
CLASS zcx_abapgit_cancel IMPLEMENTATION.
METHOD constructor ##ADT_SUPPRESS_GENERATION.
super->constructor(
previous = previous
ii_log = ii_log
msgv1 = msgv1
msgv2 = msgv2
msgv3 = msgv3
msgv4 = msgv4 ).
CLEAR me->textid.
IF textid IS INITIAL.
if_t100_message~t100key = if_t100_message=>default_textid.
ELSE.
if_t100_message~t100key = textid.
ENDIF.
ENDMETHOD.
ENDCLASS.

View File

@ -2,9 +2,14 @@ CLASS zcx_abapgit_not_found DEFINITION
PUBLIC
INHERITING FROM cx_static_check
FINAL
CREATE PUBLIC .
CREATE PUBLIC.
PUBLIC SECTION.
METHODS constructor
IMPORTING
!textid LIKE textid OPTIONAL
!previous LIKE previous OPTIONAL.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.
@ -12,4 +17,11 @@ ENDCLASS.
CLASS zcx_abapgit_not_found IMPLEMENTATION.
METHOD constructor ##ADT_SUPPRESS_GENERATION.
super->constructor(
textid = textid
previous = previous ).
ENDMETHOD.
ENDCLASS.