Merged branch upstream-master into master

This commit is contained in:
sbcgua 2016-10-27 18:19:55 +03:00
commit 48cfcbae94
6 changed files with 94 additions and 31 deletions

View File

@ -3,7 +3,7 @@ REPORT zabapgit LINE-SIZE 100.
* See http://www.abapgit.org
CONSTANTS: gc_xml_version TYPE string VALUE 'v1.0.0', "#EC NOTEXT
gc_abap_version TYPE string VALUE 'v1.18.5'. "#EC NOTEXT
gc_abap_version TYPE string VALUE 'v1.18.6'. "#EC NOTEXT
********************************************************************************
* The MIT License (MIT)

View File

@ -104,9 +104,9 @@ CLASS lcl_html_action_utils IMPLEMENTATION.
DATA ls_field LIKE LINE OF ct.
FIELD-SYMBOLS <src> TYPE any.
FIELD-SYMBOLS <src> TYPE any.
ls_field-name = name.
ls_field-name = name.
CASE cl_abap_typedescr=>describe_by_data( iv )->kind.
WHEN cl_abap_typedescr=>kind_elem.
@ -116,7 +116,7 @@ CLASS lcl_html_action_utils IMPLEMENTATION.
ASSERT <src> IS ASSIGNED.
ls_field-value = <src>.
WHEN OTHERS.
ASSERT 2 = 1.
ASSERT 0 = 1.
ENDCASE.
APPEND ls_field TO ct.
@ -125,8 +125,8 @@ CLASS lcl_html_action_utils IMPLEMENTATION.
METHOD get_field.
FIELD-SYMBOLS <ls_field> LIKE LINE OF it.
FIELD-SYMBOLS <dest> TYPE any.
FIELD-SYMBOLS: <ls_field> LIKE LINE OF it,
<dest> TYPE any.
READ TABLE it ASSIGNING <ls_field> WITH KEY name = name.
@ -142,7 +142,7 @@ CLASS lcl_html_action_utils IMPLEMENTATION.
ASSERT <dest> IS ASSIGNED.
<dest> = <ls_field>-value.
WHEN OTHERS.
ASSERT 2 = 1.
ASSERT 0 = 1.
ENDCASE.
ENDMETHOD. "get_field

View File

@ -105,11 +105,11 @@ CLASS lcl_gui_page_super IMPLEMENTATION.
ro_html->add( '<td class="repo_attr right">' ).
IF lo_pback->exists( io_repo->get_key( ) ) = abap_true.
ro_html->add( '<span class="bg_marker">BG</span>' ).
ro_html->add( '<span class="bg_marker" title="background">BG</span>' ).
ENDIF.
IF io_repo->is_write_protected( ) = abap_true.
ro_html->add( '<img src="img/lock">' ).
ro_html->add( '<img src="img/lock" title="locked">' ).
ENDIF.
IF io_repo->is_offline( ) = abap_false.

View File

@ -83,7 +83,7 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
lcl_app=>user( )->set_repo_show( lv_key ).
TRY.
lcl_app=>repo_srv( )->get( lv_key )->refresh( ).
CATCH lcx_exception.
CATCH lcx_exception ##NO_HANDLER.
ENDTRY.
ev_state = gc_event_state-re_render.
@ -176,7 +176,7 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
lo_betasub->add( iv_txt = 'Database util' iv_act = gc_action-go_db ) ##NO_TEXT.
lo_betasub->add( iv_txt = 'Package to zip' iv_act = gc_action-zip_package ) ##NO_TEXT.
lo_betasub->add( iv_txt = 'Transport to zip' iv_act = gc_action-zip_transport ) ##NO_TEXT.
lo_betasub->add( iv_txt = 'Object to zip' iv_act = gc_action-zip_object ) ##NO_TEXT.
lo_betasub->add( iv_txt = 'Object to files' iv_act = gc_action-zip_object ) ##NO_TEXT.
lo_betasub->add( iv_txt = 'Page playground' iv_act = gc_action-go_playground ) ##NO_TEXT.
lo_betasub->add( iv_txt = 'Debug info' iv_act = gc_action-go_debuginfo ) ##NO_TEXT.

View File

@ -6,15 +6,15 @@ TABLES sscrfields.
SELECTION-SCREEN BEGIN OF SCREEN 1002 TITLE s_title.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(10) s_url FOR FIELD p_url.
PARAMETERS: p_url TYPE string LOWER CASE VISIBLE LENGTH 40.
PARAMETERS: p_url TYPE string LOWER CASE VISIBLE LENGTH 40 ##SEL_WRONG.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(10) s_user FOR FIELD p_user.
PARAMETERS: p_user TYPE string LOWER CASE VISIBLE LENGTH 40.
PARAMETERS: p_user TYPE string LOWER CASE VISIBLE LENGTH 40 ##SEL_WRONG.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(10) s_pass FOR FIELD p_pass.
PARAMETERS: p_pass TYPE string LOWER CASE VISIBLE LENGTH 40.
PARAMETERS: p_pass TYPE string LOWER CASE VISIBLE LENGTH 40 ##SEL_WRONG.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF SCREEN 1002.

View File

@ -27,12 +27,12 @@ CLASS lcl_zip DEFINITION FINAL.
PRIVATE SECTION.
CLASS-METHODS file_upload
RETURNING VALUE(rv_xstr) TYPE xstring
RETURNING value(rv_xstr) TYPE xstring
RAISING lcx_exception.
CLASS-METHODS unzip_file
IMPORTING iv_xstr TYPE xstring
RETURNING VALUE(rt_files) TYPE ty_files_tt
RETURNING value(rt_files) TYPE ty_files_tt
RAISING lcx_exception.
CLASS-METHODS normalize_path
@ -52,11 +52,11 @@ CLASS lcl_zip DEFINITION FINAL.
CLASS-METHODS encode_files
IMPORTING it_files TYPE ty_files_item_tt
RETURNING VALUE(rv_xstr) TYPE xstring
RETURNING value(rv_xstr) TYPE xstring
RAISING lcx_exception.
CLASS-METHODS get_message
RETURNING VALUE(rv_message) TYPE string
RETURNING value(rv_message) TYPE string
RAISING lcx_exception.
ENDCLASS. "lcl_zip DEFINITION
@ -337,7 +337,7 @@ CLASS lcl_zip IMPLEMENTATION.
ENDLOOP.
ENDIF.
ENDMETHOD.
ENDMETHOD. "normalize_path
METHOD unzip_file.
@ -460,10 +460,17 @@ CLASS lcl_zip IMPLEMENTATION.
METHOD export_object.
DATA: lo_repo TYPE REF TO lcl_repo_offline,
ls_data TYPE lcl_persistence_repo=>ty_repo,
lt_tadir TYPE scts_tadir,
ls_tadir TYPE tadir.
DATA: ls_tadir TYPE tadir,
ls_item TYPE ty_item,
lv_folder TYPE string,
lv_fullpath TYPE string,
lt_rawdata TYPE solix_tab,
lv_sep TYPE c LENGTH 1,
lt_files TYPE ty_files_tt.
STATICS: lv_prev TYPE string.
FIELD-SYMBOLS: <ls_file> LIKE LINE OF lt_files.
ls_tadir = lcl_popups=>popup_object( ).
@ -471,18 +478,74 @@ CLASS lcl_zip IMPLEMENTATION.
RAISE EXCEPTION TYPE lcx_cancel.
ENDIF.
ls_data-key = 'TZIP'.
ls_data-package = ls_tadir-devclass.
ls_data-master_language = sy-langu.
ls_item-obj_type = ls_tadir-object.
ls_item-obj_name = ls_tadir-obj_name.
CREATE OBJECT lo_repo
lt_files = lcl_objects=>serialize(
is_item = ls_item
iv_language = sy-langu ).
IF lines( lt_files ) = 0.
MESSAGE 'Empty' TYPE 'S'.
RETURN.
ENDIF.
cl_gui_frontend_services=>directory_browse(
EXPORTING
is_data = ls_data.
initial_folder = lv_prev
CHANGING
selected_folder = lv_folder ).
IF lv_folder IS INITIAL.
RETURN.
ENDIF.
APPEND ls_tadir TO lt_tadir.
lv_prev = lv_folder.
lcl_zip=>export( io_repo = lo_repo
it_filter = lt_tadir ).
cl_gui_frontend_services=>get_file_separator(
CHANGING
file_separator = lv_sep ).
LOOP AT lt_files ASSIGNING <ls_file>.
CONCATENATE lv_folder lv_sep <ls_file>-filename INTO lv_fullpath.
lt_rawdata = cl_bcs_convert=>xstring_to_solix( <ls_file>-data ).
cl_gui_frontend_services=>gui_download(
EXPORTING
bin_filesize = xstrlen( <ls_file>-data )
filename = lv_fullpath
filetype = 'BIN'
CHANGING
data_tab = lt_rawdata
EXCEPTIONS
file_write_error = 1
no_batch = 2
gui_refuse_filetransfer = 3
invalid_type = 4
no_authority = 5
unknown_error = 6
header_not_allowed = 7
separator_not_allowed = 8
filesize_not_allowed = 9
header_too_long = 10
dp_error_create = 11
dp_error_send = 12
dp_error_write = 13
unknown_dp_error = 14
access_denied = 15
dp_out_of_memory = 16
disk_full = 17
dp_timeout = 18
file_not_found = 19
dataprovider_exception = 20
control_flush_error = 21
not_supported_by_gui = 22
error_no_gui = 23
OTHERS = 24 ).
IF sy-subrc <> 0.
lcx_exception=>raise( 'error from gui_download' ).
ENDIF.
ENDLOOP.
ENDMETHOD. "export_package