DDLX: Fix transport request recording + activation

This commit is contained in:
Christian Guenter 2018-11-14 21:17:48 +01:00 committed by Lars Hvam
parent ffac70b9c3
commit e61108511d

View File

@ -28,7 +28,7 @@ ENDCLASS.
CLASS ZCL_ABAPGIT_OBJECT_DDLX IMPLEMENTATION. CLASS zcl_abapgit_object_ddlx IMPLEMENTATION.
METHOD clear_field. METHOD clear_field.
@ -139,8 +139,9 @@ CLASS ZCL_ABAPGIT_OBJECT_DDLX IMPLEMENTATION.
lr_data TYPE REF TO data, lr_data TYPE REF TO data,
lx_error TYPE REF TO cx_root. lx_error TYPE REF TO cx_root.
FIELD-SYMBOLS: <lg_data> TYPE any, FIELD-SYMBOLS: <lg_data> TYPE any,
<lg_field> TYPE data. <lg_source> TYPE data,
<lg_version> TYPE data.
TRY. TRY.
CREATE DATA lr_data CREATE DATA lr_data
@ -153,19 +154,26 @@ CLASS ZCL_ABAPGIT_OBJECT_DDLX IMPLEMENTATION.
CHANGING CHANGING
cg_data = <lg_data> ). cg_data = <lg_data> ).
ASSIGN COMPONENT 'CONTENT-SOURCE' OF STRUCTURE <lg_data> TO <lg_field>. ASSIGN COMPONENT 'CONTENT-SOURCE' OF STRUCTURE <lg_data> TO <lg_source>.
ASSERT sy-subrc = 0. ASSERT sy-subrc = 0.
TRY. TRY.
" If the file doesn't exist that's ok, because previously " If the file doesn't exist that's ok, because previously
" the source code was stored in the xml. We are downward compatible. " the source code was stored in the xml. We are downward compatible.
<lg_field> = mo_files->read_string( 'asddlxs' ) ##no_text. <lg_source> = mo_files->read_string( 'asddlxs' ) ##no_text.
CATCH zcx_abapgit_exception. CATCH zcx_abapgit_exception.
ENDTRY. ENDTRY.
CREATE OBJECT li_data_model CREATE OBJECT li_data_model
TYPE ('CL_DDLX_WB_OBJECT_DATA'). TYPE ('CL_DDLX_WB_OBJECT_DATA').
ASSIGN COMPONENT 'METADATA-VERSION' OF STRUCTURE <lg_data> TO <lg_version>.
ASSERT sy-subrc = 0.
" We have to always save as inactive. Standard activation below activates then
" and also creates transport request entry if necessary
<lg_version> = 'inactive'.
li_data_model->set_data( <lg_data> ). li_data_model->set_data( <lg_data> ).
get_persistence( )->save( li_data_model ). get_persistence( )->save( li_data_model ).
@ -177,6 +185,8 @@ CLASS ZCL_ABAPGIT_OBJECT_DDLX IMPLEMENTATION.
ix_previous = lx_error ). ix_previous = lx_error ).
ENDTRY. ENDTRY.
zcl_abapgit_objects_activation=>add_item( ms_item ).
ENDMETHOD. ENDMETHOD.
@ -202,7 +212,6 @@ CLASS ZCL_ABAPGIT_OBJECT_DDLX IMPLEMENTATION.
METHOD zif_abapgit_object~get_metadata. METHOD zif_abapgit_object~get_metadata.
rs_metadata = get_metadata( ). rs_metadata = get_metadata( ).
rs_metadata-ddic = abap_true.
rs_metadata-delete_tadir = abap_true. rs_metadata-delete_tadir = abap_true.
ENDMETHOD. ENDMETHOD.