diff --git a/src/cts/zcl_abapgit_cts_api.clas.abap b/src/cts/zcl_abapgit_cts_api.clas.abap index 9e45c587a..0892d56f5 100644 --- a/src/cts/zcl_abapgit_cts_api.clas.abap +++ b/src/cts/zcl_abapgit_cts_api.clas.abap @@ -345,6 +345,9 @@ CLASS zcl_abapgit_cts_api IMPLEMENTATION. DATA lt_table_keys TYPE STANDARD TABLE OF e071k. DATA lv_with_dialog TYPE abap_bool. + FIELD-SYMBOLS LIKE LINE OF lt_tables. + FIELD-SYMBOLS LIKE LINE OF lt_table_keys. + cl_table_utilities_brf=>create_transport_entries( EXPORTING it_table_ins = it_table_ins @@ -360,6 +363,7 @@ CLASS zcl_abapgit_cts_api IMPLEMENTATION. CALL FUNCTION 'TR_OBJECTS_CHECK' TABLES wt_ko200 = lt_tables + wt_e071k = lt_table_keys EXCEPTIONS cancel_edit_other_error = 1 show_only_other_error = 2 @@ -372,15 +376,24 @@ CLASS zcl_abapgit_cts_api IMPLEMENTATION. lv_with_dialog = abap_true. ENDIF. - CALL FUNCTION 'TRINT_OBJECTS_CHECK_AND_INSERT' + READ TABLE lt_tables ASSIGNING INDEX 1. + ASSERT sy-subrc = 0. + + LOOP AT lt_table_keys ASSIGNING . + -objfunc = -objfunc. + ENDLOOP. + + CALL FUNCTION 'TR_OBJECT_INSERT' EXPORTING - iv_order = iv_transport - iv_with_dialog = lv_with_dialog - CHANGING - ct_ko200 = lt_tables - ct_e071k = lt_table_keys + wi_order = iv_transport + wi_ko200 = + iv_no_show_option = abap_true + TABLES + wt_e071k = lt_table_keys EXCEPTIONS - OTHERS = 1. + cancel_edit_other_error = 1 + show_only_other_error = 2 + OTHERS = 3. IF sy-subrc <> 0. zcx_abapgit_exception=>raise_t100( ). ENDIF. diff --git a/src/cts/zif_abapgit_cts_api.intf.abap b/src/cts/zif_abapgit_cts_api.intf.abap index 6ed2c7bda..5799d3cea 100644 --- a/src/cts/zif_abapgit_cts_api.intf.abap +++ b/src/cts/zif_abapgit_cts_api.intf.abap @@ -60,9 +60,9 @@ INTERFACE zif_abapgit_cts_api METHODS create_transport_entries IMPORTING !iv_transport TYPE trkorr - !it_table_ins TYPE ANY TABLE - !it_table_upd TYPE ANY TABLE - !it_table_del TYPE ANY TABLE + !it_table_ins TYPE ANY TABLE OPTIONAL + !it_table_upd TYPE ANY TABLE OPTIONAL + !it_table_del TYPE ANY TABLE OPTIONAL !iv_tabname TYPE tabname RAISING zcx_abapgit_exception . diff --git a/src/objects/zcl_abapgit_object_view.clas.abap b/src/objects/zcl_abapgit_object_view.clas.abap index b42c2b637..cebb9e6a6 100644 --- a/src/objects/zcl_abapgit_object_view.clas.abap +++ b/src/objects/zcl_abapgit_object_view.clas.abap @@ -5,18 +5,41 @@ CLASS zcl_abapgit_object_view DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje PROTECTED SECTION. "! get additional data like table authorization group "! @parameter iv_name | name of the view - METHODS read_extras IMPORTING iv_name TYPE ddobjname - RETURNING VALUE(rs_tabl_extras) TYPE zif_abapgit_object_tabl=>ty_tabl_extras. + METHODS read_extras + IMPORTING + iv_name TYPE ddobjname + RETURNING + VALUE(rs_tabl_extras) TYPE zif_abapgit_object_tabl=>ty_tabl_extras. "! Update additional data "! @parameter iv_name | name of the table + "! @parameter iv_transport | transport request "! @parameter is_tabl_extras | additional view data - METHODS update_extras IMPORTING iv_name TYPE ddobjname - is_tabl_extras TYPE zif_abapgit_object_tabl=>ty_tabl_extras. + METHODS update_extras + IMPORTING + iv_name TYPE ddobjname + iv_transport TYPE trkorr + is_tabl_extras TYPE zif_abapgit_object_tabl=>ty_tabl_extras + RAISING + zcx_abapgit_exception. "! Delete additional data "! @parameter iv_name | name of the view - METHODS delete_extras IMPORTING iv_name TYPE ddobjname. + "! @parameter iv_transport | transport request + METHODS delete_extras + IMPORTING + iv_name TYPE ddobjname + iv_transport TYPE trkorr + RAISING + zcx_abapgit_exception. + + METHODS insert_transport + IMPORTING + iv_name TYPE ddobjname + iv_transport TYPE trkorr + RAISING + zcx_abapgit_exception. + PRIVATE SECTION. TYPES: ty_dd26v TYPE STANDARD TABLE OF dd26v WITH NON-UNIQUE DEFAULT KEY, @@ -66,13 +89,17 @@ ENDCLASS. -CLASS ZCL_ABAPGIT_OBJECT_VIEW IMPLEMENTATION. +CLASS zcl_abapgit_object_view IMPLEMENTATION. METHOD delete_extras. DELETE FROM tddat WHERE tabname = iv_name. + insert_transport( + iv_name = iv_name + iv_transport = iv_transport ). + ENDMETHOD. @@ -130,6 +157,27 @@ CLASS ZCL_ABAPGIT_OBJECT_VIEW IMPLEMENTATION. ENDMETHOD. + METHOD insert_transport. + + DATA: + ls_key TYPE tddat, + lt_keys TYPE TABLE OF tddat. + + IF iv_transport IS INITIAL. + RETURN. + ENDIF. + + ls_key-tabname = iv_name. + INSERT ls_key INTO TABLE lt_keys. + + zcl_abapgit_factory=>get_cts_api( )->create_transport_entries( + iv_transport = iv_transport + it_table_ins = lt_keys + iv_tabname = 'TDDAT' ). + + ENDMETHOD. + + METHOD read_extras. SELECT SINGLE * FROM tddat INTO rs_tabl_extras-tddat WHERE tabname = iv_name. @@ -238,9 +286,15 @@ CLASS ZCL_ABAPGIT_OBJECT_VIEW IMPLEMENTATION. METHOD update_extras. IF is_tabl_extras-tddat IS INITIAL. - delete_extras( iv_name ). + delete_extras( + iv_name = iv_name + iv_transport = iv_transport ). ELSE. MODIFY tddat FROM is_tabl_extras-tddat. + + insert_transport( + iv_name = iv_name + iv_transport = iv_transport ). ENDIF. ENDMETHOD. @@ -269,7 +323,10 @@ CLASS ZCL_ABAPGIT_OBJECT_VIEW IMPLEMENTATION. lv_objname = ms_item-obj_name. delete_ddic( 'V' ). - delete_extras( lv_objname ). + + delete_extras( + iv_name = lv_objname + iv_transport = iv_transport ). ENDMETHOD. @@ -350,6 +407,7 @@ CLASS ZCL_ABAPGIT_OBJECT_VIEW IMPLEMENTATION. iv_longtext_id = c_longtext_id_view ). update_extras( iv_name = lv_name + iv_transport = iv_transport is_tabl_extras = ls_extras ). zcl_abapgit_objects_activation=>add_item( ms_item ).