mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 04:08:27 +08:00
Change transport type when setting original system (#6816)
Co-authored-by: Lars Hvam <larshp@hotmail.com>
This commit is contained in:
parent
0d35e9377e
commit
37390a521e
|
@ -82,7 +82,7 @@ ENDCLASS.
|
|||
|
||||
|
||||
|
||||
CLASS ZCL_ABAPGIT_CTS_API IMPLEMENTATION.
|
||||
CLASS zcl_abapgit_cts_api IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD get_current_transport_for_obj.
|
||||
|
@ -213,6 +213,56 @@ CLASS ZCL_ABAPGIT_CTS_API IMPLEMENTATION.
|
|||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD zif_abapgit_cts_api~change_transport_type.
|
||||
|
||||
DATA ls_request_header TYPE trwbo_request_header.
|
||||
|
||||
CALL FUNCTION 'ENQUEUE_E_TRKORR'
|
||||
EXPORTING
|
||||
trkorr = iv_transport_request
|
||||
EXCEPTIONS
|
||||
foreign_lock = 1
|
||||
system_failure = 2
|
||||
OTHERS = 3.
|
||||
IF sy-subrc <> 0.
|
||||
zcx_abapgit_exception=>raise_t100( ).
|
||||
ENDIF.
|
||||
|
||||
CALL FUNCTION 'TRINT_READ_REQUEST_HEADER'
|
||||
EXPORTING
|
||||
iv_read_e070 = abap_true
|
||||
iv_read_e070c = abap_true
|
||||
CHANGING
|
||||
cs_request = ls_request_header
|
||||
EXCEPTIONS
|
||||
empty_trkorr = 1
|
||||
not_exist_e070 = 2
|
||||
OTHERS = 3.
|
||||
IF sy-subrc <> 0.
|
||||
zcx_abapgit_exception=>raise_t100( ).
|
||||
ENDIF.
|
||||
|
||||
CALL FUNCTION 'TRINT_CHANGE_TRFUNCTION'
|
||||
EXPORTING
|
||||
iv_new_trfunction = iv_transport_type
|
||||
CHANGING
|
||||
cs_request_header = ls_request_header
|
||||
EXCEPTIONS
|
||||
action_aborted_by_user = 1
|
||||
change_not_allowed = 2
|
||||
db_access_error = 3
|
||||
OTHERS = 4.
|
||||
IF sy-subrc <> 0.
|
||||
zcx_abapgit_exception=>raise_t100( ).
|
||||
ENDIF.
|
||||
|
||||
CALL FUNCTION 'DEQUEUE_E_TRKORR'
|
||||
EXPORTING
|
||||
trkorr = iv_transport_request.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD zif_abapgit_cts_api~confirm_transport_messages.
|
||||
|
||||
TYPES: BEGIN OF ty_s_message,
|
||||
|
|
|
@ -153,4 +153,11 @@ INTERFACE zif_abapgit_cts_api
|
|||
!iv_transport_request TYPE trkorr
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
|
||||
METHODS change_transport_type
|
||||
IMPORTING
|
||||
!iv_transport_request TYPE trkorr
|
||||
!iv_transport_type TYPE trfunction
|
||||
RAISING
|
||||
zcx_abapgit_exception.
|
||||
ENDINTERFACE.
|
||||
|
|
|
@ -158,9 +158,10 @@ CLASS zcl_abapgit_objects DEFINITION
|
|||
zcx_abapgit_exception .
|
||||
CLASS-METHODS update_original_system
|
||||
IMPORTING
|
||||
!it_items TYPE zif_abapgit_definitions=>ty_items_tt
|
||||
!ii_log TYPE REF TO zif_abapgit_log
|
||||
!io_dot TYPE REF TO zcl_abapgit_dot_abapgit
|
||||
!it_items TYPE zif_abapgit_definitions=>ty_items_tt
|
||||
!ii_log TYPE REF TO zif_abapgit_log
|
||||
!io_dot TYPE REF TO zcl_abapgit_dot_abapgit
|
||||
!iv_transport TYPE trkorr
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
CLASS-METHODS check_objects_locked
|
||||
|
@ -869,9 +870,10 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
|
|||
|
||||
" Set the original system for all updated objects to what's defined in repo settings
|
||||
update_original_system(
|
||||
it_items = lt_items
|
||||
ii_log = ii_log
|
||||
io_dot = io_repo->get_dot_abapgit( ) ).
|
||||
it_items = lt_items
|
||||
ii_log = ii_log
|
||||
io_dot = io_repo->get_dot_abapgit( )
|
||||
iv_transport = is_checks-transport-transport ).
|
||||
|
||||
zcl_abapgit_factory=>get_default_transport( )->reset( ).
|
||||
|
||||
|
@ -1336,6 +1338,7 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
|
|||
METHOD update_original_system.
|
||||
|
||||
DATA lv_srcsystem TYPE tadir-srcsystem.
|
||||
DATA lv_errors TYPE abap_bool.
|
||||
DATA lv_msg TYPE string.
|
||||
|
||||
FIELD-SYMBOLS <ls_item> LIKE LINE OF it_items.
|
||||
|
@ -1392,10 +1395,18 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
|
|||
ii_log->add_error(
|
||||
iv_msg = lv_msg
|
||||
is_item = <ls_item> ).
|
||||
lv_errors = abap_true.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
|
||||
IF lv_errors IS INITIAL.
|
||||
" Since original system has changed, the type of transport request needs to be switched to "Repair"
|
||||
zcl_abapgit_factory=>get_cts_api( )->change_transport_type(
|
||||
iv_transport_request = iv_transport
|
||||
iv_transport_type = zif_abapgit_cts_api=>c_transport_type-wb_repair ).
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user