From 70dad99efe3d46e4322e4b2bf3e992f647555ed8 Mon Sep 17 00:00:00 2001 From: larshp Date: Wed, 17 Feb 2016 11:41:40 +0000 Subject: [PATCH] zip export, skip unsupported --- zabapgit.prog.abap | 47 ++++++++++++++++++++++++++++++++++------------ 1 file changed, 35 insertions(+), 12 deletions(-) diff --git a/zabapgit.prog.abap b/zabapgit.prog.abap index c2b8967b0..b20a0d1f8 100644 --- a/zabapgit.prog.abap +++ b/zabapgit.prog.abap @@ -3,7 +3,7 @@ REPORT zabapgit. * See http://www.abapgit.org CONSTANTS: gc_xml_version TYPE string VALUE 'v0.2-alpha', "#EC NOTEXT - gc_abap_version TYPE string VALUE 'v0.109'. "#EC NOTEXT + gc_abap_version TYPE string VALUE 'v0.110'. "#EC NOTEXT ******************************************************************************** * The MIT License (MIT) @@ -13872,16 +13872,18 @@ CLASS lcl_zip IMPLEMENTATION. METHOD show_progress. - DATA: lv_pct TYPE i, - lv_f TYPE f. + DATA: lv_pct TYPE i, + lv_text TYPE string, + lv_f TYPE f. lv_f = ( iv_current / iv_total ) * 100. lv_pct = lv_f. + lv_text = |{ iv_obj_name } ({ iv_current }/{ iv_total })|. CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR' EXPORTING percentage = lv_pct - text = iv_obj_name. + text = lv_text. ENDMETHOD. "show_progress @@ -13894,7 +13896,7 @@ CLASS lcl_zip IMPLEMENTATION. APPEND INITIAL LINE TO lt_fields ASSIGNING . - -tabname = 'ABAPTXT255'. + -tabname = 'ABAPTXT255'. -fieldname = 'LINE'. -fieldtext = 'Commit message'. "#EC NOTEXT -field_obl = abap_true. @@ -14184,10 +14186,12 @@ CLASS lcl_zip IMPLEMENTATION. DATA: lt_tadir TYPE lcl_tadir=>ty_tadir_tt, ls_item TYPE ty_item, + lt_msg TYPE rs_t_msg, lt_files TYPE ty_files_tt, lt_zip TYPE ty_files_tt. FIELD-SYMBOLS: LIKE LINE OF lt_files, + LIKE LINE OF lt_msg, LIKE LINE OF lt_tadir. @@ -14205,15 +14209,34 @@ CLASS lcl_zip IMPLEMENTATION. CLEAR ls_item. ls_item-obj_type = -object. ls_item-obj_name = -obj_name. - lt_files = lcl_objects=>serialize( ls_item ). - - LOOP AT lt_files ASSIGNING . - -path = -path. - ENDLOOP. - - APPEND LINES OF lt_files TO lt_zip. + IF lcl_objects=>is_supported( ls_item ) = abap_false. + APPEND INITIAL LINE TO lt_msg ASSIGNING . + -msgty = 'W'. + -msgid = '00'. + -msgno = '001'. + -msgv1 = 'Object type ignored, not supported:'. + -msgv2 = ls_item-obj_type. + -msgv3 = '-'. + -msgv4 = ls_item-obj_name. + ELSE. + lt_files = lcl_objects=>serialize( ls_item ). + LOOP AT lt_files ASSIGNING . + -path = -path. + ENDLOOP. + APPEND LINES OF lt_files TO lt_zip. + ENDIF. ENDLOOP. + IF lines( lt_msg ) > 0. + CALL FUNCTION 'RSDC_SHOW_MESSAGES_POPUP' + EXPORTING + i_t_msg = lt_msg + i_txt = 'Warning' + i_with_s_on_empty = abap_false + i_one_msg_direct = abap_false + i_one_msg_type_s = abap_false. + ENDIF. + IF iv_zip = abap_true. file_download( iv_package = iv_package iv_xstr = encode_files( lt_zip ) ).