mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 11:46:38 +08:00
VIEW: save tddat
entries to transport (#7042)
Some checks failed
main-build / build-merged (push) Has been cancelled
main-build / auto-tag (push) Has been cancelled
main-build / coverage (push) Has been cancelled
main-build / auto-tag-artifact (push) Has been cancelled
ajson mirror / pr_ajson_changes (push) Has been cancelled
Some checks failed
main-build / build-merged (push) Has been cancelled
main-build / auto-tag (push) Has been cancelled
main-build / coverage (push) Has been cancelled
main-build / auto-tag-artifact (push) Has been cancelled
ajson mirror / pr_ajson_changes (push) Has been cancelled
Co-authored-by: Lars Hvam <larshp@hotmail.com>
This commit is contained in:
parent
aa2e082dcb
commit
93935b3dfb
|
@ -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 <ls_table> LIKE LINE OF lt_tables.
|
||||
FIELD-SYMBOLS <ls_table_key> 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 <ls_table> INDEX 1.
|
||||
ASSERT sy-subrc = 0.
|
||||
|
||||
LOOP AT lt_table_keys ASSIGNING <ls_table_key>.
|
||||
<ls_table_key>-objfunc = <ls_table>-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 = <ls_table>
|
||||
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.
|
||||
|
|
|
@ -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 .
|
||||
|
|
|
@ -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 ).
|
||||
|
|
Loading…
Reference in New Issue
Block a user