From 060abb8635f2b9b8e1ddc26dd2320aa88af62868 Mon Sep 17 00:00:00 2001 From: Marc Bernard <59966492+mbtools@users.noreply.github.com> Date: Sun, 14 Nov 2021 06:28:38 +0000 Subject: [PATCH] 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 --- src/ui/core/zcx_abapgit_cancel.clas.abap | 33 ++++++++++++++++++++++-- src/zcx_abapgit_not_found.clas.abap | 14 +++++++++- 2 files changed, 44 insertions(+), 3 deletions(-) diff --git a/src/ui/core/zcx_abapgit_cancel.clas.abap b/src/ui/core/zcx_abapgit_cancel.clas.abap index 4fd288433..3edc94c48 100644 --- a/src/ui/core/zcx_abapgit_cancel.clas.abap +++ b/src/ui/core/zcx_abapgit_cancel.clas.abap @@ -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. diff --git a/src/zcx_abapgit_not_found.clas.abap b/src/zcx_abapgit_not_found.clas.abap index b19c9d44a..9ce87b7cf 100644 --- a/src/zcx_abapgit_not_found.clas.abap +++ b/src/zcx_abapgit_not_found.clas.abap @@ -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.