Force XSLT activation during deserialize

This commit is contained in:
sandraros 2022-03-05 10:05:49 +00:00
parent bcdeebb3ad
commit 7d6fc64ddb

View File

@ -99,14 +99,8 @@ CLASS zcl_abapgit_object_xslt IMPLEMENTATION.
DATA: lv_source TYPE string,
lo_xslt TYPE REF TO cl_o2_api_xsltdesc,
lv_len TYPE i,
ls_attributes TYPE o2xsltattr.
" Transformation might depend on other objects like a class
" We attempt to activate it in late step
IF iv_step = zif_abapgit_object=>gc_step_id-late.
zcl_abapgit_objects_activation=>add_item( ms_item ).
RETURN.
ENDIF.
ls_attributes TYPE o2xsltattr,
lt_errors type o2xslterrt.
IF zif_abapgit_object~exists( ) = abap_true.
zif_abapgit_object~delete( iv_package = iv_package
@ -159,7 +153,21 @@ CLASS zcl_abapgit_object_xslt IMPLEMENTATION.
lo_xslt->set_changeable( abap_false ).
zcl_abapgit_objects_activation=>add_item( ms_item ).
lo_xslt->activate(
EXPORTING
i_force = abap_true
i_suppress_load_gen = abap_true
IMPORTING
e_error_list = lt_errors
EXCEPTIONS
generate_error = 1
storage_error = 2
syntax_errors = 3
xtc_not_available = 4
OTHERS = 5 ).
IF sy-subrc <> 0.
zcx_abapgit_exception=>raise( |Error from XSLT activate, { sy-subrc }| ).
ENDIF.
ENDMETHOD.
@ -183,7 +191,6 @@ CLASS zcl_abapgit_object_xslt IMPLEMENTATION.
METHOD zif_abapgit_object~get_deserialize_steps.
APPEND zif_abapgit_object=>gc_step_id-abap TO rt_steps.
APPEND zif_abapgit_object=>gc_step_id-late TO rt_steps.
ENDMETHOD.