mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
Merged branch upstream-master into master
This commit is contained in:
commit
48cfcbae94
|
@ -3,7 +3,7 @@ REPORT zabapgit LINE-SIZE 100.
|
||||||
* See http://www.abapgit.org
|
* See http://www.abapgit.org
|
||||||
|
|
||||||
CONSTANTS: gc_xml_version TYPE string VALUE 'v1.0.0', "#EC NOTEXT
|
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)
|
* The MIT License (MIT)
|
||||||
|
|
|
@ -104,9 +104,9 @@ CLASS lcl_html_action_utils IMPLEMENTATION.
|
||||||
|
|
||||||
DATA ls_field LIKE LINE OF ct.
|
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.
|
CASE cl_abap_typedescr=>describe_by_data( iv )->kind.
|
||||||
WHEN cl_abap_typedescr=>kind_elem.
|
WHEN cl_abap_typedescr=>kind_elem.
|
||||||
|
@ -116,7 +116,7 @@ CLASS lcl_html_action_utils IMPLEMENTATION.
|
||||||
ASSERT <src> IS ASSIGNED.
|
ASSERT <src> IS ASSIGNED.
|
||||||
ls_field-value = <src>.
|
ls_field-value = <src>.
|
||||||
WHEN OTHERS.
|
WHEN OTHERS.
|
||||||
ASSERT 2 = 1.
|
ASSERT 0 = 1.
|
||||||
ENDCASE.
|
ENDCASE.
|
||||||
|
|
||||||
APPEND ls_field TO ct.
|
APPEND ls_field TO ct.
|
||||||
|
@ -125,8 +125,8 @@ CLASS lcl_html_action_utils IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD get_field.
|
METHOD get_field.
|
||||||
|
|
||||||
FIELD-SYMBOLS <ls_field> LIKE LINE OF it.
|
FIELD-SYMBOLS: <ls_field> LIKE LINE OF it,
|
||||||
FIELD-SYMBOLS <dest> TYPE any.
|
<dest> TYPE any.
|
||||||
|
|
||||||
|
|
||||||
READ TABLE it ASSIGNING <ls_field> WITH KEY name = name.
|
READ TABLE it ASSIGNING <ls_field> WITH KEY name = name.
|
||||||
|
@ -142,7 +142,7 @@ CLASS lcl_html_action_utils IMPLEMENTATION.
|
||||||
ASSERT <dest> IS ASSIGNED.
|
ASSERT <dest> IS ASSIGNED.
|
||||||
<dest> = <ls_field>-value.
|
<dest> = <ls_field>-value.
|
||||||
WHEN OTHERS.
|
WHEN OTHERS.
|
||||||
ASSERT 2 = 1.
|
ASSERT 0 = 1.
|
||||||
ENDCASE.
|
ENDCASE.
|
||||||
|
|
||||||
ENDMETHOD. "get_field
|
ENDMETHOD. "get_field
|
||||||
|
|
|
@ -105,11 +105,11 @@ CLASS lcl_gui_page_super IMPLEMENTATION.
|
||||||
ro_html->add( '<td class="repo_attr right">' ).
|
ro_html->add( '<td class="repo_attr right">' ).
|
||||||
|
|
||||||
IF lo_pback->exists( io_repo->get_key( ) ) = abap_true.
|
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.
|
ENDIF.
|
||||||
|
|
||||||
IF io_repo->is_write_protected( ) = abap_true.
|
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.
|
ENDIF.
|
||||||
|
|
||||||
IF io_repo->is_offline( ) = abap_false.
|
IF io_repo->is_offline( ) = abap_false.
|
||||||
|
|
|
@ -83,7 +83,7 @@ CLASS lcl_gui_page_main IMPLEMENTATION.
|
||||||
lcl_app=>user( )->set_repo_show( lv_key ).
|
lcl_app=>user( )->set_repo_show( lv_key ).
|
||||||
TRY.
|
TRY.
|
||||||
lcl_app=>repo_srv( )->get( lv_key )->refresh( ).
|
lcl_app=>repo_srv( )->get( lv_key )->refresh( ).
|
||||||
CATCH lcx_exception.
|
CATCH lcx_exception ##NO_HANDLER.
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
ev_state = gc_event_state-re_render.
|
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 = '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 = '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 = '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 = '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.
|
lo_betasub->add( iv_txt = 'Debug info' iv_act = gc_action-go_debuginfo ) ##NO_TEXT.
|
||||||
|
|
||||||
|
|
|
@ -6,15 +6,15 @@ TABLES sscrfields.
|
||||||
SELECTION-SCREEN BEGIN OF SCREEN 1002 TITLE s_title.
|
SELECTION-SCREEN BEGIN OF SCREEN 1002 TITLE s_title.
|
||||||
SELECTION-SCREEN BEGIN OF LINE.
|
SELECTION-SCREEN BEGIN OF LINE.
|
||||||
SELECTION-SCREEN COMMENT 1(10) s_url FOR FIELD p_url.
|
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 END OF LINE.
|
||||||
SELECTION-SCREEN BEGIN OF LINE.
|
SELECTION-SCREEN BEGIN OF LINE.
|
||||||
SELECTION-SCREEN COMMENT 1(10) s_user FOR FIELD p_user.
|
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 END OF LINE.
|
||||||
SELECTION-SCREEN BEGIN OF LINE.
|
SELECTION-SCREEN BEGIN OF LINE.
|
||||||
SELECTION-SCREEN COMMENT 1(10) s_pass FOR FIELD p_pass.
|
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 LINE.
|
||||||
SELECTION-SCREEN END OF SCREEN 1002.
|
SELECTION-SCREEN END OF SCREEN 1002.
|
||||||
|
|
||||||
|
|
|
@ -27,12 +27,12 @@ CLASS lcl_zip DEFINITION FINAL.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
CLASS-METHODS file_upload
|
CLASS-METHODS file_upload
|
||||||
RETURNING VALUE(rv_xstr) TYPE xstring
|
RETURNING value(rv_xstr) TYPE xstring
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
CLASS-METHODS unzip_file
|
CLASS-METHODS unzip_file
|
||||||
IMPORTING iv_xstr TYPE xstring
|
IMPORTING iv_xstr TYPE xstring
|
||||||
RETURNING VALUE(rt_files) TYPE ty_files_tt
|
RETURNING value(rt_files) TYPE ty_files_tt
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
CLASS-METHODS normalize_path
|
CLASS-METHODS normalize_path
|
||||||
|
@ -52,11 +52,11 @@ CLASS lcl_zip DEFINITION FINAL.
|
||||||
|
|
||||||
CLASS-METHODS encode_files
|
CLASS-METHODS encode_files
|
||||||
IMPORTING it_files TYPE ty_files_item_tt
|
IMPORTING it_files TYPE ty_files_item_tt
|
||||||
RETURNING VALUE(rv_xstr) TYPE xstring
|
RETURNING value(rv_xstr) TYPE xstring
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
CLASS-METHODS get_message
|
CLASS-METHODS get_message
|
||||||
RETURNING VALUE(rv_message) TYPE string
|
RETURNING value(rv_message) TYPE string
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
ENDCLASS. "lcl_zip DEFINITION
|
ENDCLASS. "lcl_zip DEFINITION
|
||||||
|
@ -337,7 +337,7 @@ CLASS lcl_zip IMPLEMENTATION.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD. "normalize_path
|
||||||
|
|
||||||
METHOD unzip_file.
|
METHOD unzip_file.
|
||||||
|
|
||||||
|
@ -460,10 +460,17 @@ CLASS lcl_zip IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD export_object.
|
METHOD export_object.
|
||||||
|
|
||||||
DATA: lo_repo TYPE REF TO lcl_repo_offline,
|
DATA: ls_tadir TYPE tadir,
|
||||||
ls_data TYPE lcl_persistence_repo=>ty_repo,
|
ls_item TYPE ty_item,
|
||||||
lt_tadir TYPE scts_tadir,
|
lv_folder TYPE string,
|
||||||
ls_tadir TYPE tadir.
|
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( ).
|
ls_tadir = lcl_popups=>popup_object( ).
|
||||||
|
@ -471,18 +478,74 @@ CLASS lcl_zip IMPLEMENTATION.
|
||||||
RAISE EXCEPTION TYPE lcx_cancel.
|
RAISE EXCEPTION TYPE lcx_cancel.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ls_data-key = 'TZIP'.
|
ls_item-obj_type = ls_tadir-object.
|
||||||
ls_data-package = ls_tadir-devclass.
|
ls_item-obj_name = ls_tadir-obj_name.
|
||||||
ls_data-master_language = sy-langu.
|
|
||||||
|
|
||||||
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
|
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
|
cl_gui_frontend_services=>get_file_separator(
|
||||||
it_filter = lt_tadir ).
|
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
|
ENDMETHOD. "export_package
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user