diff --git a/src/cts/zcl_abapgit_cts_api.clas.abap b/src/cts/zcl_abapgit_cts_api.clas.abap index 965889e81..03ac6d383 100644 --- a/src/cts/zcl_abapgit_cts_api.clas.abap +++ b/src/cts/zcl_abapgit_cts_api.clas.abap @@ -343,4 +343,29 @@ CLASS ZCL_ABAPGIT_CTS_API IMPLEMENTATION. WHERE trkorr = iv_trkorr ##SUBRC_OK. ENDMETHOD. + + METHOD zif_abapgit_cts_api~create_transport_entries. + + DATA lt_tables TYPE tredt_objects. + DATA lt_table_keys TYPE STANDARD TABLE OF e071k. + DATA lt_tadir_entries TYPE scts_tadir. + + cl_table_utilities_brf=>create_transport_entries( + EXPORTING + it_table_ins = it_table_ins + it_table_upd = it_table_upd + it_table_del = it_table_del + iv_tabname = iv_tabname + CHANGING + ct_e071 = lt_tables + ct_e071k = lt_table_keys ). + + cl_table_utilities_brf=>write_transport_entries( + CHANGING + ct_e071 = lt_tables + ct_e071k = lt_table_keys + ct_tadir = lt_tadir_entries ). + + ENDMETHOD. + ENDCLASS. diff --git a/src/cts/zif_abapgit_cts_api.intf.abap b/src/cts/zif_abapgit_cts_api.intf.abap index e3fc5109f..99d95f79c 100644 --- a/src/cts/zif_abapgit_cts_api.intf.abap +++ b/src/cts/zif_abapgit_cts_api.intf.abap @@ -60,4 +60,11 @@ INTERFACE zif_abapgit_cts_api RETURNING VALUE(rv_uname) TYPE uname. + METHODS create_transport_entries + IMPORTING + it_table_ins TYPE ANY TABLE + it_table_upd TYPE ANY TABLE + it_table_del TYPE ANY TABLE + iv_tabname TYPE tabname. + ENDINTERFACE. diff --git a/src/data/zcl_abapgit_data_deserializer.clas.abap b/src/data/zcl_abapgit_data_deserializer.clas.abap index 2c66cec51..09f7d0ed0 100644 --- a/src/data/zcl_abapgit_data_deserializer.clas.abap +++ b/src/data/zcl_abapgit_data_deserializer.clas.abap @@ -216,17 +216,16 @@ CLASS zcl_abapgit_data_deserializer IMPLEMENTATION. * this method updates the database - DATA ls_result LIKE LINE OF it_result. - DATA lt_tables TYPE tredt_objects. - DATA lt_table_keys TYPE STANDARD TABLE OF e071k. - DATA lv_table_name TYPE tabname. - DATA lt_tadir_entries TYPE scts_tadir. + DATA ls_result LIKE LINE OF it_result. + DATA li_cts_api TYPE REF TO zif_abapgit_cts_api. FIELD-SYMBOLS: TYPE ANY TABLE, TYPE ANY TABLE, TYPE ANY TABLE. + li_cts_api = zcl_abapgit_factory=>get_cts_api( ). + LOOP AT it_result INTO ls_result. ASSERT ls_result-type = zif_abapgit_data_config=>c_data_type-tabu. " todo ASSERT ls_result-name IS NOT INITIAL. @@ -256,27 +255,15 @@ CLASS zcl_abapgit_data_deserializer IMPLEMENTATION. ASSIGN ls_result-updates->* TO . IF is_customizing_table( ls_result-name ) = abap_true. - cl_table_utilities_brf=>create_transport_entries( - EXPORTING - it_table_ins = - it_table_upd = - it_table_del = - iv_tabname = |{ ls_result-name }| - CHANGING - ct_e071 = lt_tables - ct_e071k = lt_table_keys ). + li_cts_api->create_transport_entries( + it_table_ins = + it_table_upd = + it_table_del = + iv_tabname = |{ ls_result-name }| ). ENDIF. ENDLOOP. - IF lt_tables IS NOT INITIAL AND lt_table_keys IS NOT INITIAL. - cl_table_utilities_brf=>write_transport_entries( - CHANGING - ct_e071 = lt_tables - ct_e071k = lt_table_keys - ct_tadir = lt_tadir_entries ). - ENDIF. - ENDMETHOD.