Transport to zip. Select multiples transport requests #578

Implements new feature #578
This commit is contained in:
Christian Tapia Sabogal 2017-01-25 19:00:09 -05:00 committed by GitHub
parent 436775edbe
commit 364d6703d1
2 changed files with 60 additions and 38 deletions

View File

@ -11,9 +11,9 @@ CLASS lcl_transport DEFINITION FINAL.
PRIVATE SECTION. PRIVATE SECTION.
CLASS-METHODS: CLASS-METHODS:
popup popup
RETURNING VALUE(rv_trkorr) TYPE e070-trkorr, RETURNING VALUE(rt_trkorr) TYPE trwbo_request_headers,
read_requests read_requests
IMPORTING iv_trkorr TYPE e070-trkorr IMPORTING it_trkorr TYPE trwbo_request_headers
RETURNING VALUE(rt_requests) TYPE trwbo_requests RETURNING VALUE(rt_requests) TYPE trwbo_requests
RAISING lcx_exception, RAISING lcx_exception,
find_top_package find_top_package
@ -35,15 +35,14 @@ CLASS lcl_transport IMPLEMENTATION.
lv_package TYPE devclass, lv_package TYPE devclass,
ls_data TYPE lcl_persistence_repo=>ty_repo, ls_data TYPE lcl_persistence_repo=>ty_repo,
lo_repo TYPE REF TO lcl_repo_offline, lo_repo TYPE REF TO lcl_repo_offline,
lv_trkorr TYPE e070-trkorr. lt_trkorr TYPE trwbo_request_headers.
lt_trkorr = popup( ).
lv_trkorr = popup( ). IF lines( lt_trkorr ) = 0.
IF lv_trkorr IS INITIAL.
RETURN. RETURN.
ENDIF. ENDIF.
lt_requests = read_requests( lv_trkorr ). lt_requests = read_requests( lt_trkorr ).
lt_tadir = resolve( lt_requests ). lt_tadir = resolve( lt_requests ).
IF lines( lt_tadir ) = 0. IF lines( lt_tadir ) = 0.
lcx_exception=>raise( 'empty transport' ). lcx_exception=>raise( 'empty transport' ).
@ -101,25 +100,51 @@ CLASS lcl_transport IMPLEMENTATION.
ENDMETHOD. ENDMETHOD.
METHOD popup. METHOD popup.
DATA: lrs_trfunction TYPE trsel_trs_function,
lv_types TYPE string,
ls_ranges TYPE trsel_ts_ranges.
CALL FUNCTION 'TR_F4_REQUESTS' " Fill all request types
lv_types = 'KWTCOEMPDRSXQFG'.
lrs_trfunction-sign = 'I'.
lrs_trfunction-option = 'EQ'.
WHILE lv_types NE space.
lrs_trfunction-low = lv_types(1).
APPEND lrs_trfunction TO ls_ranges-request_funcs.
SHIFT lv_types.
ENDWHILE.
CALL FUNCTION 'TRINT_SELECT_REQUESTS'
EXPORTING EXPORTING
iv_username = sy-uname iv_username_pattern = sy-uname
iv_trkorr_pattern = rv_trkorr iv_via_selscreen = 'X'
iv_trfunctions = sctsc_types_all iv_complete_projects = ''
iv_trstatus = sctsc_states_changeable * is_popup =
iv_title = 'abapGit: Transport Request Selection'
IMPORTING IMPORTING
ev_selected_request = rv_trkorr. et_requests = rt_trkorr
CHANGING
cs_ranges = ls_ranges
EXCEPTIONS
action_aborted_by_user = 1
OTHERS = 2.
IF sy-subrc <> 0.
RETURN.
ENDIF.
ENDMETHOD. ENDMETHOD.
METHOD read_requests. METHOD read_requests.
DATA lt_requests LIKE rt_requests.
FIELD-SYMBOLS <fs_trkorr> LIKE LINE OF it_trkorr.
LOOP AT it_trkorr ASSIGNING <fs_trkorr>.
CALL FUNCTION 'TR_READ_REQUEST_WITH_TASKS' CALL FUNCTION 'TR_READ_REQUEST_WITH_TASKS'
EXPORTING EXPORTING
iv_trkorr = iv_trkorr iv_trkorr = <fs_trkorr>-trkorr
IMPORTING IMPORTING
et_requests = rt_requests et_requests = lt_requests
EXCEPTIONS EXCEPTIONS
invalid_input = 1 invalid_input = 1
OTHERS = 2. OTHERS = 2.
@ -127,6 +152,9 @@ CLASS lcl_transport IMPLEMENTATION.
lcx_exception=>raise( 'error from TR_READ_REQUEST_WITH_TASKS' ). lcx_exception=>raise( 'error from TR_READ_REQUEST_WITH_TASKS' ).
ENDIF. ENDIF.
APPEND LINES OF lt_requests TO rt_requests.
ENDLOOP.
ENDMETHOD. ENDMETHOD.
METHOD resolve. METHOD resolve.

View File

@ -10,13 +10,7 @@
<RLOAD>E</RLOAD> <RLOAD>E</RLOAD>
<UCCHECK>X</UCCHECK> <UCCHECK>X</UCCHECK>
</PROGDIR> </PROGDIR>
<TPOOL> <TPOOL/>
<item>
<ID>R</ID>
<ENTRY>Include ZABAPGIT_TRANSPORT</ENTRY>
<LENGTH>26</LENGTH>
</item>
</TPOOL>
</asx:values> </asx:values>
</asx:abap> </asx:abap>
</abapGit> </abapGit>