Merge pull request #1490 from filak-sap/issue_1446

Use the required transport type
This commit is contained in:
Lars Hvam 2018-06-13 06:53:54 +02:00 committed by GitHub
commit b7c045210b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 62 additions and 4 deletions

View File

@ -139,6 +139,8 @@ CLASS zcl_abapgit_popups DEFINITION
RAISING
zcx_abapgit_exception .
CLASS-METHODS popup_transport_request
IMPORTING
!is_transport_type TYPE zif_abapgit_definitions=>ty_transport_type
RETURNING
VALUE(rv_transport) TYPE trkorr
RAISING
@ -1015,6 +1017,9 @@ CLASS ZCL_ABAPGIT_POPUPS IMPLEMENTATION.
lt_e071k TYPE STANDARD TABLE OF e071k.
CALL FUNCTION 'TRINT_ORDER_CHOICE'
EXPORTING
wi_order_type = is_transport_type-request
wi_task_type = is_transport_type-task
IMPORTING
we_order = rv_transport
TABLES

View File

@ -121,7 +121,8 @@ CLASS ZCL_ABAPGIT_SERVICES_REPO IMPLEMENTATION.
ENDIF.
IF ls_checks-transport-required = abap_true.
ls_checks-transport-transport = zcl_abapgit_popups=>popup_transport_request( ).
ls_checks-transport-transport = zcl_abapgit_popups=>popup_transport_request(
is_transport_type = ls_checks-transport-type ).
ENDIF.
CATCH zcx_abapgit_cancel.

View File

@ -520,7 +520,8 @@ CLASS ZCL_ABAPGIT_OBJECTS IMPLEMENTATION.
METHOD deserialize_checks.
DATA: lt_results TYPE zif_abapgit_definitions=>ty_results_tt.
DATA: lt_results TYPE zif_abapgit_definitions=>ty_results_tt,
li_package TYPE REF TO zif_abapgit_sap_package.
lt_results = files_to_deserialize( io_repo ).
@ -532,8 +533,11 @@ CLASS ZCL_ABAPGIT_OBJECTS IMPLEMENTATION.
it_results = lt_results ).
IF lines( lt_results ) > 0.
rs_checks-transport-required = zcl_abapgit_sap_package=>get( io_repo->get_package( )
)->are_changes_recorded_in_tr_req( ).
li_package = zcl_abapgit_sap_package=>get( io_repo->get_package( ) ).
rs_checks-transport-required = li_package->are_changes_recorded_in_tr_req( ).
IF NOT rs_checks-transport-required IS INITIAL.
rs_checks-transport-type = li_package->get_transport_type( ).
ENDIF.
ENDIF.
ENDMETHOD.

View File

@ -298,4 +298,43 @@ CLASS zcl_abapgit_sap_package IMPLEMENTATION.
ENDMETHOD.
METHOD zif_abapgit_sap_package~get_transport_type.
DATA: lv_err_prefix TYPE string,
lv_pkg_name TYPE e071-obj_name.
lv_err_prefix = |TRINT_GET_REQUEST_TYPE(R3TR, DEVC, { mv_package })|.
lv_pkg_name = mv_package.
CALL FUNCTION 'TRINT_GET_REQUEST_TYPE'
EXPORTING
iv_pgmid = 'R3TR'
iv_object = 'DEVC'
iv_obj_name = lv_pkg_name
IMPORTING
ev_request_type = rv_transport_type-request
ev_task_type = rv_transport_type-task
EXCEPTIONS
no_request_needed = 1
internal_error = 2
cts_initialization_failure = 3.
CASE sy-subrc.
WHEN 0.
" OK!
WHEN 1.
zcx_abapgit_exception=>raise( |{ lv_err_prefix }: transport is not needed| ).
WHEN 2.
zcx_abapgit_exception=>raise( |{ lv_err_prefix }: internal error| ).
WHEN 3.
zcx_abapgit_exception=>raise( |{ lv_err_prefix }: failed to initialized CTS| ).
WHEN OTHERS.
zcx_abapgit_exception=>raise( |{ lv_err_prefix }: unrecognized return code| ).
ENDCASE.
ENDMETHOD.
ENDCLASS.

View File

@ -111,9 +111,15 @@ INTERFACE zif_abapgit_definitions PUBLIC.
decision TYPE ty_yes_no,
END OF ty_requirements.
TYPES: BEGIN OF ty_transport_type,
request TYPE trfunction,
task TYPE trfunction,
END OF ty_transport_type.
TYPES: BEGIN OF ty_transport,
required TYPE abap_bool,
transport TYPE trkorr,
type TYPE ty_transport_type,
END OF ty_transport.

View File

@ -16,6 +16,9 @@ INTERFACE zif_abapgit_sap_package PUBLIC.
RETURNING VALUE(rv_bool) TYPE abap_bool,
are_changes_recorded_in_tr_req
RETURNING VALUE(rv_are_changes_rec_in_tr_req) TYPE abap_bool
RAISING zcx_abapgit_exception,
get_transport_type
RETURNING VALUE(rv_transport_type) TYPE zif_abapgit_definitions=>ty_transport_type
RAISING zcx_abapgit_exception.
ENDINTERFACE.