mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 20:03:20 +08:00
CLAS: Fix deserializing child exception classes (#6682)
This commit is contained in:
parent
931e4c1006
commit
7a86b71cd5
|
@ -33,6 +33,9 @@ CLASS zcl_abapgit_object_clas DEFINITION
|
|||
IMPORTING ii_xml TYPE REF TO zif_abapgit_xml_input
|
||||
iv_package TYPE devclass
|
||||
RAISING zcx_abapgit_exception,
|
||||
deserialize_exceptions
|
||||
IMPORTING ii_xml TYPE REF TO zif_abapgit_xml_input
|
||||
RAISING zcx_abapgit_exception,
|
||||
serialize_xml
|
||||
IMPORTING ii_xml TYPE REF TO zif_abapgit_xml_output
|
||||
RAISING zcx_abapgit_exception,
|
||||
|
@ -301,6 +304,21 @@ CLASS zcl_abapgit_object_clas IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD deserialize_exceptions.
|
||||
|
||||
DATA: ls_vseoclass TYPE vseoclass.
|
||||
|
||||
ii_xml->read( EXPORTING iv_name = 'VSEOCLASS'
|
||||
CHANGING cg_data = ls_vseoclass ).
|
||||
|
||||
" For exceptions that are sub-class of another exception, we need to set the category explicitly (#6490)
|
||||
IF ls_vseoclass-category = '40'.
|
||||
UPDATE seoclassdf SET category = '40' WHERE clsname = ls_vseoclass-clsname.
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD deserialize_pre_ddic.
|
||||
|
||||
DATA: ls_vseoclass TYPE vseoclass.
|
||||
|
@ -863,6 +881,10 @@ CLASS zcl_abapgit_object_clas IMPLEMENTATION.
|
|||
corr_insert( iv_package ).
|
||||
ENDIF.
|
||||
|
||||
ELSEIF iv_step = zif_abapgit_object=>gc_step_id-late.
|
||||
|
||||
deserialize_exceptions( io_xml ).
|
||||
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
@ -898,6 +920,7 @@ CLASS zcl_abapgit_object_clas IMPLEMENTATION.
|
|||
METHOD zif_abapgit_object~get_deserialize_steps.
|
||||
APPEND zif_abapgit_object=>gc_step_id-early TO rt_steps.
|
||||
APPEND zif_abapgit_object=>gc_step_id-abap TO rt_steps.
|
||||
APPEND zif_abapgit_object=>gc_step_id-late TO rt_steps.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user