From fb6efabfb9bde95c444f5bee41874cd606353490 Mon Sep 17 00:00:00 2001 From: Jakub Filak Date: Mon, 11 Jun 2018 10:57:45 +0000 Subject: [PATCH] tp: use the correct transport type in the tr popup We are developing in an infinity system which is somehow cloned into a new releases system. When we need to backport a bug fixes we do cherry-pick the commits and pull them the release system. However, in those systems we need to use the task type Repair. Hence, we need to overwrite the default value of the parameter wi_task_type of the function TRINT_ORDER_CHOICE which is 'S' (Development/Correction) with the value 'R'. I use the function TRINT_GET_REQUEST_TYPE and for the sake of simplicity I assume that it is enough to know the transport type of the repository package - in other words, it is no necessary to check every deserialized object. Related to #1446 --- src/ui/zcl_abapgit_popups.clas.abap | 5 +++++ src/ui/zcl_abapgit_services_repo.clas.abap | 3 ++- src/zcl_abapgit_objects.clas.abap | 10 +++++++--- src/zif_abapgit_definitions.intf.abap | 1 + 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/ui/zcl_abapgit_popups.clas.abap b/src/ui/zcl_abapgit_popups.clas.abap index 2f7003742..b684bec35 100644 --- a/src/ui/zcl_abapgit_popups.clas.abap +++ b/src/ui/zcl_abapgit_popups.clas.abap @@ -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 diff --git a/src/ui/zcl_abapgit_services_repo.clas.abap b/src/ui/zcl_abapgit_services_repo.clas.abap index d06af1ade..aded62fa6 100644 --- a/src/ui/zcl_abapgit_services_repo.clas.abap +++ b/src/ui/zcl_abapgit_services_repo.clas.abap @@ -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. diff --git a/src/zcl_abapgit_objects.clas.abap b/src/zcl_abapgit_objects.clas.abap index 3ec8f6bd2..f90a34860 100644 --- a/src/zcl_abapgit_objects.clas.abap +++ b/src/zcl_abapgit_objects.clas.abap @@ -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. diff --git a/src/zif_abapgit_definitions.intf.abap b/src/zif_abapgit_definitions.intf.abap index 6815147ba..26b75afbb 100644 --- a/src/zif_abapgit_definitions.intf.abap +++ b/src/zif_abapgit_definitions.intf.abap @@ -119,6 +119,7 @@ INTERFACE zif_abapgit_definitions PUBLIC. TYPES: BEGIN OF ty_transport, required TYPE abap_bool, transport TYPE trkorr, + type TYPE ty_transport_type, END OF ty_transport.