refactor popup_to_select_transports (#6624)

This commit is contained in:
Lars Hvam 2023-11-06 17:33:14 +01:00 committed by GitHub
parent 193051b0f6
commit 22f76e264d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 39 additions and 44 deletions

View File

@ -16,7 +16,7 @@ CLASS zcl_abapgit_transport DEFINITION
CLASS-METHODS to_tadir
IMPORTING
!it_transport_headers TYPE trwbo_request_headers
!iv_trkorr TYPE trkorr
!iv_deleted_objects TYPE abap_bool DEFAULT abap_false
RETURNING
VALUE(rt_tadir) TYPE zif_abapgit_definitions=>ty_tadir_tt
@ -31,9 +31,11 @@ CLASS zcl_abapgit_transport DEFINITION
PROTECTED SECTION.
TYPES ty_trkorr_tt TYPE STANDARD TABLE OF trkorr.
CLASS-METHODS read_requests
IMPORTING
!it_trkorr TYPE trwbo_request_headers
!it_trkorr TYPE ty_trkorr_tt
RETURNING
VALUE(rt_requests) TYPE trwbo_requests
RAISING
@ -69,7 +71,7 @@ ENDCLASS.
CLASS zcl_abapgit_transport IMPLEMENTATION.
CLASS ZCL_ABAPGIT_TRANSPORT IMPLEMENTATION.
METHOD add_all_objects_to_trans_req.
@ -230,12 +232,12 @@ CLASS zcl_abapgit_transport IMPLEMENTATION.
METHOD read_requests.
DATA lt_requests LIKE rt_requests.
FIELD-SYMBOLS <ls_trkorr> LIKE LINE OF it_trkorr.
FIELD-SYMBOLS <lv_trkorr> LIKE LINE OF it_trkorr.
LOOP AT it_trkorr ASSIGNING <ls_trkorr>.
LOOP AT it_trkorr ASSIGNING <lv_trkorr>.
CALL FUNCTION 'TR_READ_REQUEST_WITH_TASKS'
EXPORTING
iv_trkorr = <ls_trkorr>-trkorr
iv_trkorr = <lv_trkorr>
IMPORTING
et_requests = lt_requests
EXCEPTIONS
@ -325,14 +327,17 @@ CLASS zcl_abapgit_transport IMPLEMENTATION.
METHOD to_tadir.
DATA: lt_requests TYPE trwbo_requests.
DATA lt_requests TYPE trwbo_requests.
DATA lt_trkorr TYPE ty_trkorr_tt.
IF lines( it_transport_headers ) = 0.
IF iv_trkorr IS INITIAL.
RETURN.
ENDIF.
lt_requests = read_requests( it_transport_headers ).
INSERT iv_trkorr INTO TABLE lt_trkorr.
lt_requests = read_requests( lt_trkorr ).
rt_tadir = resolve(
it_requests = lt_requests
iv_deleted_objects = iv_deleted_objects ).
@ -347,13 +352,17 @@ CLASS zcl_abapgit_transport IMPLEMENTATION.
lv_package TYPE devclass,
lo_dot_abapgit TYPE REF TO zcl_abapgit_dot_abapgit,
ls_local_settings TYPE zif_abapgit_persistence=>ty_repo-local_settings,
lt_trkorr TYPE trwbo_request_headers.
lt_trkorr TYPE ty_trkorr_tt,
lv_trkorr TYPE trkorr.
IF is_trkorr IS SUPPLIED.
APPEND is_trkorr TO lt_trkorr.
APPEND is_trkorr-trkorr TO lt_trkorr.
ELSE.
lt_trkorr = zcl_abapgit_ui_factory=>get_popups( )->popup_to_select_transports( ).
lv_trkorr = zcl_abapgit_ui_factory=>get_popups( )->popup_to_select_transport( ).
IF lv_trkorr IS NOT INITIAL.
APPEND lv_trkorr TO lt_trkorr.
ENDIF.
ENDIF.
IF lines( lt_trkorr ) = 0.

View File

@ -74,7 +74,7 @@ CLASS ltcl_popups_mock IMPLEMENTATION.
METHOD zif_abapgit_popups~popup_to_select_from_list.
ENDMETHOD.
METHOD zif_abapgit_popups~popup_to_select_transports.
METHOD zif_abapgit_popups~popup_to_select_transport.
ENDMETHOD.
METHOD zif_abapgit_popups~popup_transport_request.

View File

@ -96,23 +96,19 @@ CLASS zcl_abapgit_gui_page_data IMPLEMENTATION.
METHOD add_via_transport.
DATA lt_trkorr TYPE trwbo_request_headers.
DATA ls_trkorr LIKE LINE OF lt_trkorr.
DATA lv_trkorr TYPE trkorr.
DATA ls_request TYPE zif_abapgit_cts_api=>ty_transport_data.
DATA ls_key LIKE LINE OF ls_request-keys.
DATA lv_where TYPE string.
DATA ls_config TYPE zif_abapgit_data_config=>ty_config.
lt_trkorr = zcl_abapgit_ui_factory=>get_popups( )->popup_to_select_transports( ).
IF lines( lt_trkorr ) <> 1.
lv_trkorr = zcl_abapgit_ui_factory=>get_popups( )->popup_to_select_transport( ).
IF lv_trkorr IS INITIAL.
RETURN.
ENDIF.
READ TABLE lt_trkorr INDEX 1 INTO ls_trkorr.
ASSERT sy-subrc = 0.
ls_request = zcl_abapgit_factory=>get_cts_api( )->read( ls_trkorr-trkorr ).
ls_request = zcl_abapgit_factory=>get_cts_api( )->read( lv_trkorr ).
IF lines( ls_request-keys ) = 0.
zcx_abapgit_exception=>raise( |No keys found, select task| ).

View File

@ -122,7 +122,7 @@ ENDCLASS.
CLASS zcl_abapgit_services_repo IMPLEMENTATION.
CLASS ZCL_ABAPGIT_SERVICES_REPO IMPLEMENTATION.
METHOD activate_objects.
@ -822,6 +822,7 @@ CLASS zcl_abapgit_services_repo IMPLEMENTATION.
lo_transport_to_branch TYPE REF TO zcl_abapgit_transport_2_branch,
lt_transport_headers TYPE trwbo_request_headers,
lt_transport_objects TYPE zif_abapgit_definitions=>ty_tadir_tt,
lv_trkorr TYPE trkorr,
ls_transport_to_branch TYPE zif_abapgit_definitions=>ty_transport_to_branch.
@ -831,10 +832,10 @@ CLASS zcl_abapgit_services_repo IMPLEMENTATION.
lo_repository ?= zcl_abapgit_repo_srv=>get_instance( )->get( iv_repository_key ).
lt_transport_headers = zcl_abapgit_ui_factory=>get_popups( )->popup_to_select_transports( ).
lv_trkorr = zcl_abapgit_ui_factory=>get_popups( )->popup_to_select_transport( ).
" Also include deleted objects that are included in transport
lt_transport_objects = zcl_abapgit_transport=>to_tadir(
it_transport_headers = lt_transport_headers
iv_trkorr = lv_trkorr
iv_deleted_objects = abap_true ).
IF lt_transport_objects IS INITIAL.
zcx_abapgit_exception=>raise( 'Canceled or List of objects is empty ' ).

View File

@ -395,7 +395,7 @@ CLASS ltcl_popups_mock IMPLEMENTATION.
ENDMETHOD.
METHOD zif_abapgit_popups~popup_to_select_transports.
METHOD zif_abapgit_popups~popup_to_select_transport.
ENDMETHOD.

View File

@ -780,22 +780,11 @@ CLASS zcl_abapgit_popups IMPLEMENTATION.
ENDMETHOD.
METHOD zif_abapgit_popups~popup_to_select_transports.
* todo, method to be renamed, it only returns one transport
DATA: lv_trkorr TYPE e070-trkorr,
ls_trkorr LIKE LINE OF rt_trkorr.
METHOD zif_abapgit_popups~popup_to_select_transport.
CALL FUNCTION 'TR_F4_REQUESTS'
IMPORTING
ev_selected_request = lv_trkorr.
IF NOT lv_trkorr IS INITIAL.
ls_trkorr-trkorr = lv_trkorr.
APPEND ls_trkorr TO rt_trkorr.
ENDIF.
ev_selected_request = rv_trkorr.
ENDMETHOD.

View File

@ -60,7 +60,7 @@ CLASS ltcl_abapgit_popups_mock IMPLEMENTATION.
ENDMETHOD.
METHOD zif_abapgit_popups~popup_to_select_transports.
METHOD zif_abapgit_popups~popup_to_select_transport.
ENDMETHOD.

View File

@ -102,9 +102,9 @@ INTERFACE zif_abapgit_popups
VALUE(rs_transport_branch) TYPE zif_abapgit_definitions=>ty_transport_to_branch
RAISING
zcx_abapgit_exception .
METHODS popup_to_select_transports
METHODS popup_to_select_transport
RETURNING
VALUE(rt_trkorr) TYPE trwbo_request_headers .
VALUE(rv_trkorr) TYPE trkorr .
METHODS popup_to_select_from_list
IMPORTING
!it_list TYPE STANDARD TABLE