All files / src/cts zcl_abapgit_transport_mass.clas.abap

100% Statements 68/68
100% Branches 0/0
100% Functions 0/0
100% Lines 68/68

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 691x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x  
CLASS zcl_abapgit_transport_mass DEFINITION
  PUBLIC
  INHERITING FROM zcl_abapgit_transport
  FINAL
  CREATE PUBLIC .
 
  PUBLIC SECTION.
 
    CLASS-METHODS run .
  PROTECTED SECTION.
  PRIVATE SECTION.
 
ENDCLASS.
 
 
 
CLASS zcl_abapgit_transport_mass IMPLEMENTATION.
 
 
  METHOD run.
 
    DATA:
      lt_trkorr           TYPE trwbo_request_headers,
      lo_transport_zipper TYPE REF TO lcl_transport_zipper,
      lx_except           TYPE REF TO cx_root,
      lv_folder           TYPE string,
      lv_text             TYPE string.
 
    TRY.
 
        lt_trkorr = lcl_gui=>select_tr_requests( ).
 
        IF lt_trkorr[] IS NOT INITIAL.
 
          lv_folder = lcl_gui=>f4_folder( ).
 
          IF lv_folder IS INITIAL.
* Empty folder
            zcx_abapgit_exception=>raise( 'Empty destination folder' ).
          ENDIF.
 
* Instantiate transport zipper object that will also create the timestamped output folder
          CREATE OBJECT lo_transport_zipper TYPE lcl_transport_zipper
            EXPORTING
              iv_folder = lv_folder.
 
* Generate the local zip files from the given list of transport requests
          lo_transport_zipper->generate_files(
            it_trkorr = lt_trkorr
            ig_logic  = zcl_abapgit_ui_factory=>get_popups( )->popup_folder_logic( ) ).
 
* Open output folder if user asked it
          lcl_gui=>open_folder_frontend( lo_transport_zipper->get_folder( ) ).
 
        ELSE.
* No data found for the provided selection criteria
          zcx_abapgit_exception=>raise( 'No transport requests selected' ).
        ENDIF.
 
      CATCH zcx_abapgit_exception INTO lx_except.
 
        lv_text = lx_except->get_text( ).
        MESSAGE lv_text TYPE 'S' DISPLAY LIKE 'E'.
 
    ENDTRY.
 
  ENDMETHOD.
ENDCLASS.