mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-02 04:36:49 +08:00
Decouple cl_gui_frontend_services
(#5046)
* add additional methods * fix whitespace * add parameter prefixes * zip: refactor usage of frontend_services * debug info: refactor usage of frontend_services * services basis: refactor frontend_services usage * objects_super: refactor usage of frontend_services * router: refactor usage of frontend_services * services_abapgit: refactor usage of frontend_serv Co-authored-by: Lars Hvam <larshp@hotmail.com>
This commit is contained in:
parent
27eca9b766
commit
1e5befc44a
|
@ -306,13 +306,7 @@ CLASS zcl_abapgit_objects_super IMPLEMENTATION.
|
||||||
iv_sub_obj_name = iv_sub_obj_name
|
iv_sub_obj_name = iv_sub_obj_name
|
||||||
iv_line_number = iv_line_number ).
|
iv_line_number = iv_line_number ).
|
||||||
|
|
||||||
cl_gui_frontend_services=>execute(
|
zcl_abapgit_ui_factory=>get_frontend_services( )->execute( iv_document = lv_adt_link ).
|
||||||
EXPORTING document = lv_adt_link
|
|
||||||
EXCEPTIONS OTHERS = 1 ).
|
|
||||||
|
|
||||||
IF sy-subrc <> 0.
|
|
||||||
zcx_abapgit_exception=>raise( |ADT Jump Error - failed to open link { lv_adt_link }. Subrc={ sy-subrc }| ).
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
CATCH cx_root INTO lx_error.
|
CATCH cx_root INTO lx_error.
|
||||||
zcx_abapgit_exception=>raise( iv_text = 'ADT Jump Error'
|
zcx_abapgit_exception=>raise( iv_text = 'ADT Jump Error'
|
||||||
|
|
|
@ -208,4 +208,95 @@ CLASS ZCL_ABAPGIT_FRONTEND_SERVICES IMPLEMENTATION.
|
||||||
zcx_abapgit_exception=>raise_t100( ).
|
zcx_abapgit_exception=>raise_t100( ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD zif_abapgit_frontend_services~execute.
|
||||||
|
cl_gui_frontend_services=>execute(
|
||||||
|
EXPORTING
|
||||||
|
document = iv_document
|
||||||
|
application = iv_application
|
||||||
|
parameter = iv_parameter
|
||||||
|
default_directory = iv_default_directory
|
||||||
|
maximized = iv_maximized
|
||||||
|
minimized = iv_minimized
|
||||||
|
synchronous = iv_synchronous
|
||||||
|
operation = iv_operation
|
||||||
|
EXCEPTIONS
|
||||||
|
cntl_error = 1
|
||||||
|
error_no_gui = 2
|
||||||
|
bad_parameter = 3
|
||||||
|
file_not_found = 4
|
||||||
|
path_not_found = 5
|
||||||
|
file_extension_unknown = 6
|
||||||
|
error_execute_failed = 7
|
||||||
|
synchronous_failed = 8
|
||||||
|
not_supported_by_gui = 9
|
||||||
|
OTHERS = 10 ).
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
zcx_abapgit_exception=>raise_t100( ).
|
||||||
|
ENDIF.
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD zif_abapgit_frontend_services~get_system_directory.
|
||||||
|
cl_gui_frontend_services=>get_system_directory(
|
||||||
|
CHANGING
|
||||||
|
system_directory = cv_system_directory
|
||||||
|
EXCEPTIONS
|
||||||
|
cntl_error = 1
|
||||||
|
error_no_gui = 2
|
||||||
|
not_supported_by_gui = 3
|
||||||
|
OTHERS = 4 ).
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
zcx_abapgit_exception=>raise_t100( ).
|
||||||
|
ENDIF.
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD zif_abapgit_frontend_services~directory_browse.
|
||||||
|
cl_gui_frontend_services=>directory_browse(
|
||||||
|
EXPORTING
|
||||||
|
window_title = iv_window_title
|
||||||
|
initial_folder = iv_initial_folder
|
||||||
|
CHANGING
|
||||||
|
selected_folder = cv_selected_folder
|
||||||
|
EXCEPTIONS
|
||||||
|
cntl_error = 1
|
||||||
|
error_no_gui = 2
|
||||||
|
not_supported_by_gui = 3
|
||||||
|
OTHERS = 4 ).
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
zcx_abapgit_exception=>raise_t100( ).
|
||||||
|
ENDIF.
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD zif_abapgit_frontend_services~get_file_separator.
|
||||||
|
cl_gui_frontend_services=>get_file_separator(
|
||||||
|
CHANGING
|
||||||
|
file_separator = cv_file_separator
|
||||||
|
EXCEPTIONS
|
||||||
|
not_supported_by_gui = 1
|
||||||
|
error_no_gui = 2
|
||||||
|
cntl_error = 3
|
||||||
|
OTHERS = 4 ).
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
zcx_abapgit_exception=>raise_t100( ).
|
||||||
|
ENDIF.
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD zif_abapgit_frontend_services~get_gui_version.
|
||||||
|
cl_gui_frontend_services=>get_gui_version(
|
||||||
|
CHANGING
|
||||||
|
version_table = ct_version_table
|
||||||
|
rc = cv_rc
|
||||||
|
EXCEPTIONS
|
||||||
|
get_gui_version_failed = 1
|
||||||
|
cant_write_version_table = 2
|
||||||
|
gui_no_version = 3
|
||||||
|
cntl_error = 4
|
||||||
|
error_no_gui = 5
|
||||||
|
not_supported_by_gui = 6
|
||||||
|
OTHERS = 7 ).
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
zcx_abapgit_exception=>raise_t100( ).
|
||||||
|
ENDIF.
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -128,11 +128,16 @@ CLASS zcl_abapgit_gui_page_debuginfo IMPLEMENTATION.
|
||||||
ls_release TYPE zif_abapgit_environment=>ty_release_sp,
|
ls_release TYPE zif_abapgit_environment=>ty_release_sp,
|
||||||
lv_gui_version TYPE string,
|
lv_gui_version TYPE string,
|
||||||
ls_version LIKE LINE OF lt_ver_tab,
|
ls_version LIKE LINE OF lt_ver_tab,
|
||||||
lv_devclass TYPE devclass.
|
lv_devclass TYPE devclass,
|
||||||
|
lo_frontend_serv TYPE REF TO zif_abapgit_frontend_services.
|
||||||
|
|
||||||
|
lo_frontend_serv = zcl_abapgit_ui_factory=>get_frontend_services( ).
|
||||||
|
TRY.
|
||||||
|
lo_frontend_serv->get_gui_version( CHANGING ct_version_table = lt_ver_tab cv_rc = lv_rc ).
|
||||||
|
CATCH zcx_abapgit_exception ##NO_HANDLER.
|
||||||
|
" Continue rendering even if this fails
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
cl_gui_frontend_services=>get_gui_version(
|
|
||||||
CHANGING version_table = lt_ver_tab rc = lv_rc
|
|
||||||
EXCEPTIONS OTHERS = 1 ).
|
|
||||||
READ TABLE lt_ver_tab INTO ls_version INDEX 1. " gui release
|
READ TABLE lt_ver_tab INTO ls_version INDEX 1. " gui release
|
||||||
lv_gui_version = ls_version-filename.
|
lv_gui_version = ls_version-filename.
|
||||||
READ TABLE lt_ver_tab INTO ls_version INDEX 2. " gui sp
|
READ TABLE lt_ver_tab INTO ls_version INDEX 2. " gui sp
|
||||||
|
|
|
@ -147,24 +147,7 @@ CLASS zcl_abapgit_gui_router IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD call_browser.
|
METHOD call_browser.
|
||||||
|
|
||||||
cl_gui_frontend_services=>execute(
|
zcl_abapgit_ui_factory=>get_frontend_services( )->execute( iv_document = |{ iv_url }| ).
|
||||||
EXPORTING
|
|
||||||
document = |{ iv_url }|
|
|
||||||
EXCEPTIONS
|
|
||||||
cntl_error = 1
|
|
||||||
error_no_gui = 2
|
|
||||||
bad_parameter = 3
|
|
||||||
file_not_found = 4
|
|
||||||
path_not_found = 5
|
|
||||||
file_extension_unknown = 6
|
|
||||||
error_execute_failed = 7
|
|
||||||
synchronous_failed = 8
|
|
||||||
not_supported_by_gui = 9
|
|
||||||
OTHERS = 10 ).
|
|
||||||
|
|
||||||
IF sy-subrc <> 0.
|
|
||||||
zcx_abapgit_exception=>raise_t100( ).
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
@ -537,13 +520,10 @@ CLASS zcl_abapgit_gui_router IMPLEMENTATION.
|
||||||
trnumber = iv_transport
|
trnumber = iv_transport
|
||||||
RECEIVING
|
RECEIVING
|
||||||
result = lv_transport_adt_uri.
|
result = lv_transport_adt_uri.
|
||||||
lv_adt_link = |adt://{ sy-sysid }{ lv_transport_adt_uri }|.
|
|
||||||
|
|
||||||
cl_gui_frontend_services=>execute( EXPORTING document = lv_adt_link
|
lv_adt_link = |adt://{ sy-sysid }{ lv_transport_adt_uri }|.
|
||||||
EXCEPTIONS OTHERS = 1 ).
|
zcl_abapgit_ui_factory=>get_frontend_services( )->execute( iv_document = lv_adt_link ).
|
||||||
IF sy-subrc <> 0.
|
|
||||||
zcx_abapgit_exception=>raise( 'ADT Jump Error' ).
|
|
||||||
ENDIF.
|
|
||||||
CATCH cx_root.
|
CATCH cx_root.
|
||||||
CALL FUNCTION 'TR_DISPLAY_REQUEST'
|
CALL FUNCTION 'TR_DISPLAY_REQUEST'
|
||||||
EXPORTING
|
EXPORTING
|
||||||
|
|
|
@ -10,6 +10,7 @@ CLASS zcl_abapgit_services_abapgit DEFINITION
|
||||||
CONSTANTS c_abapgit_wikipage TYPE string VALUE 'https://docs.abapgit.org' ##NO_TEXT.
|
CONSTANTS c_abapgit_wikipage TYPE string VALUE 'https://docs.abapgit.org' ##NO_TEXT.
|
||||||
CONSTANTS c_dotabap_homepage TYPE string VALUE 'https://dotabap.org' ##NO_TEXT.
|
CONSTANTS c_dotabap_homepage TYPE string VALUE 'https://dotabap.org' ##NO_TEXT.
|
||||||
CONSTANTS c_abapgit_class TYPE seoclsname VALUE `ZCX_ABAPGIT_EXCEPTION` ##NO_TEXT.
|
CONSTANTS c_abapgit_class TYPE seoclsname VALUE `ZCX_ABAPGIT_EXCEPTION` ##NO_TEXT.
|
||||||
|
CONSTANTS c_changelog_path TYPE string VALUE '/blob/main/changelog.txt' ##NO_TEXT.
|
||||||
|
|
||||||
CLASS-METHODS open_abapgit_homepage
|
CLASS-METHODS open_abapgit_homepage
|
||||||
RAISING
|
RAISING
|
||||||
|
@ -43,6 +44,11 @@ CLASS zcl_abapgit_services_abapgit DEFINITION
|
||||||
CLASS-METHODS check_sapgui
|
CLASS-METHODS check_sapgui
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception .
|
zcx_abapgit_exception .
|
||||||
|
CLASS-METHODS open_url_in_browser
|
||||||
|
IMPORTING
|
||||||
|
!iv_url TYPE string
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
@ -158,50 +164,22 @@ CLASS ZCL_ABAPGIT_SERVICES_ABAPGIT IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD open_abapgit_changelog.
|
METHOD open_abapgit_changelog.
|
||||||
|
open_url_in_browser( |{ c_abapgit_repo }{ c_changelog_path }| ).
|
||||||
cl_gui_frontend_services=>execute(
|
|
||||||
EXPORTING document = c_abapgit_repo && '/blob/main/changelog.txt'
|
|
||||||
EXCEPTIONS OTHERS = 1 ).
|
|
||||||
IF sy-subrc <> 0.
|
|
||||||
zcx_abapgit_exception=>raise( 'Opening page in external browser failed.' ).
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD open_abapgit_homepage.
|
METHOD open_abapgit_homepage.
|
||||||
|
open_url_in_browser( c_abapgit_homepage ).
|
||||||
cl_gui_frontend_services=>execute(
|
|
||||||
EXPORTING document = c_abapgit_homepage
|
|
||||||
EXCEPTIONS OTHERS = 1 ).
|
|
||||||
IF sy-subrc <> 0.
|
|
||||||
zcx_abapgit_exception=>raise( 'Opening page in external browser failed.' ).
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD open_abapgit_wikipage.
|
METHOD open_abapgit_wikipage.
|
||||||
|
open_url_in_browser( c_abapgit_wikipage ).
|
||||||
cl_gui_frontend_services=>execute(
|
|
||||||
EXPORTING document = c_abapgit_wikipage
|
|
||||||
EXCEPTIONS OTHERS = 1 ).
|
|
||||||
IF sy-subrc <> 0.
|
|
||||||
zcx_abapgit_exception=>raise( 'Opening page in external browser failed.' ).
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD open_dotabap_homepage.
|
METHOD open_dotabap_homepage.
|
||||||
|
open_url_in_browser( c_dotabap_homepage ).
|
||||||
cl_gui_frontend_services=>execute(
|
|
||||||
EXPORTING document = c_dotabap_homepage
|
|
||||||
EXCEPTIONS OTHERS = 1 ).
|
|
||||||
IF sy-subrc <> 0.
|
|
||||||
zcx_abapgit_exception=>raise( 'Opening page in external browser failed.' ).
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
@ -294,4 +272,16 @@ CLASS ZCL_ABAPGIT_SERVICES_ABAPGIT IMPLEMENTATION.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD open_url_in_browser.
|
||||||
|
DATA lx_error TYPE REF TO zcx_abapgit_exception.
|
||||||
|
|
||||||
|
TRY.
|
||||||
|
zcl_abapgit_ui_factory=>get_frontend_services( )->execute( iv_document = iv_url ).
|
||||||
|
CATCH zcx_abapgit_exception INTO lx_error.
|
||||||
|
zcx_abapgit_exception=>raise( iv_text = 'Opening page in external browser failed.'
|
||||||
|
ix_previous = lx_error ).
|
||||||
|
ENDTRY.
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -57,46 +57,20 @@ CLASS ZCL_ABAPGIT_SERVICES_BASIS IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD open_ie_devtools.
|
METHOD open_ie_devtools.
|
||||||
DATA: lv_system_directory TYPE string,
|
DATA: lv_system_directory TYPE string,
|
||||||
lv_exe_full_path TYPE string.
|
lv_exe_full_path TYPE string,
|
||||||
|
lo_frontend_serv TYPE REF TO zif_abapgit_frontend_services.
|
||||||
|
|
||||||
IF zcl_abapgit_ui_factory=>get_gui_functions( )->is_sapgui_for_windows( ) = abap_false.
|
IF zcl_abapgit_ui_factory=>get_gui_functions( )->is_sapgui_for_windows( ) = abap_false.
|
||||||
zcx_abapgit_exception=>raise( |IE DevTools not supported on frontend OS| ).
|
zcx_abapgit_exception=>raise( |IE DevTools not supported on frontend OS| ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
cl_gui_frontend_services=>get_system_directory(
|
lo_frontend_serv = zcl_abapgit_ui_factory=>get_frontend_services( ).
|
||||||
CHANGING
|
lo_frontend_serv->get_system_directory( CHANGING cv_system_directory = lv_system_directory ).
|
||||||
system_directory = lv_system_directory
|
|
||||||
EXCEPTIONS
|
|
||||||
cntl_error = 1
|
|
||||||
error_no_gui = 2
|
|
||||||
not_supported_by_gui = 3
|
|
||||||
OTHERS = 4 ).
|
|
||||||
IF sy-subrc <> 0.
|
|
||||||
zcx_abapgit_exception=>raise( |Error from GET_SYSTEM_DIRECTORY sy-subrc: { sy-subrc }| ).
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
cl_gui_cfw=>flush( ).
|
cl_gui_cfw=>flush( ).
|
||||||
|
|
||||||
lv_exe_full_path = lv_system_directory && `\F12\IEChooser.exe`.
|
lv_exe_full_path = lv_system_directory && `\F12\IEChooser.exe`.
|
||||||
|
lo_frontend_serv->execute( iv_application = lv_exe_full_path ).
|
||||||
cl_gui_frontend_services=>execute(
|
|
||||||
EXPORTING
|
|
||||||
application = lv_exe_full_path
|
|
||||||
EXCEPTIONS
|
|
||||||
cntl_error = 1
|
|
||||||
error_no_gui = 2
|
|
||||||
bad_parameter = 3
|
|
||||||
file_not_found = 4
|
|
||||||
path_not_found = 5
|
|
||||||
file_extension_unknown = 6
|
|
||||||
error_execute_failed = 7
|
|
||||||
synchronous_failed = 8
|
|
||||||
not_supported_by_gui = 9
|
|
||||||
OTHERS = 10 ).
|
|
||||||
IF sy-subrc <> 0.
|
|
||||||
" IEChooser is only available on Windows 10
|
|
||||||
zcx_abapgit_exception=>raise( |Error from EXECUTE sy-subrc: { sy-subrc }| ).
|
|
||||||
ENDIF.
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,7 @@
|
||||||
INTERFACE zif_abapgit_frontend_services PUBLIC.
|
INTERFACE zif_abapgit_frontend_services PUBLIC.
|
||||||
|
|
||||||
|
TYPES ty_char1 TYPE c LENGTH 1.
|
||||||
|
|
||||||
METHODS file_upload
|
METHODS file_upload
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!iv_path TYPE string
|
!iv_path TYPE string
|
||||||
|
@ -37,4 +40,46 @@ INTERFACE zif_abapgit_frontend_services PUBLIC.
|
||||||
VALUE(it_data) TYPE STANDARD TABLE
|
VALUE(it_data) TYPE STANDARD TABLE
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception.
|
zcx_abapgit_exception.
|
||||||
|
|
||||||
|
METHODS execute
|
||||||
|
IMPORTING
|
||||||
|
!iv_document TYPE string OPTIONAL
|
||||||
|
!iv_application TYPE string OPTIONAL
|
||||||
|
!iv_parameter TYPE string OPTIONAL
|
||||||
|
!iv_default_directory TYPE string OPTIONAL
|
||||||
|
!iv_maximized TYPE string OPTIONAL
|
||||||
|
!iv_minimized TYPE string OPTIONAL
|
||||||
|
!iv_synchronous TYPE string OPTIONAL
|
||||||
|
!iv_operation TYPE string DEFAULT 'OPEN'
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception.
|
||||||
|
|
||||||
|
METHODS get_system_directory
|
||||||
|
CHANGING
|
||||||
|
!cv_system_directory TYPE string
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception.
|
||||||
|
|
||||||
|
METHODS directory_browse
|
||||||
|
IMPORTING
|
||||||
|
iv_window_title TYPE string OPTIONAL
|
||||||
|
iv_initial_folder TYPE string OPTIONAL
|
||||||
|
CHANGING
|
||||||
|
cv_selected_folder TYPE string
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception.
|
||||||
|
|
||||||
|
METHODS get_file_separator
|
||||||
|
CHANGING
|
||||||
|
cv_file_separator TYPE ty_char1
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception.
|
||||||
|
|
||||||
|
METHODS get_gui_version
|
||||||
|
CHANGING
|
||||||
|
ct_version_table TYPE filetable
|
||||||
|
cv_rc TYPE i
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception.
|
||||||
|
|
||||||
ENDINTERFACE.
|
ENDINTERFACE.
|
||||||
|
|
|
@ -148,7 +148,8 @@ CLASS zcl_abapgit_zip IMPLEMENTATION.
|
||||||
lv_folder TYPE string,
|
lv_folder TYPE string,
|
||||||
lv_fullpath TYPE string,
|
lv_fullpath TYPE string,
|
||||||
lv_sep TYPE c LENGTH 1,
|
lv_sep TYPE c LENGTH 1,
|
||||||
ls_files_item TYPE zcl_abapgit_objects=>ty_serialization.
|
ls_files_item TYPE zcl_abapgit_objects=>ty_serialization,
|
||||||
|
lo_frontend_serv TYPE REF TO zif_abapgit_frontend_services.
|
||||||
|
|
||||||
FIELD-SYMBOLS: <ls_file> LIKE LINE OF ls_files_item-files.
|
FIELD-SYMBOLS: <ls_file> LIKE LINE OF ls_files_item-files.
|
||||||
|
|
||||||
|
@ -170,17 +171,18 @@ CLASS zcl_abapgit_zip IMPLEMENTATION.
|
||||||
zcx_abapgit_exception=>raise( 'Empty' ).
|
zcx_abapgit_exception=>raise( 'Empty' ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
cl_gui_frontend_services=>directory_browse(
|
lo_frontend_serv = zcl_abapgit_ui_factory=>get_frontend_services( ).
|
||||||
|
lo_frontend_serv->directory_browse(
|
||||||
EXPORTING
|
EXPORTING
|
||||||
initial_folder = gv_prev
|
iv_initial_folder = gv_prev
|
||||||
CHANGING
|
CHANGING
|
||||||
selected_folder = lv_folder ).
|
cv_selected_folder = lv_folder ).
|
||||||
IF lv_folder IS INITIAL.
|
IF lv_folder IS INITIAL.
|
||||||
RAISE EXCEPTION TYPE zcx_abapgit_cancel.
|
RAISE EXCEPTION TYPE zcx_abapgit_cancel.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
gv_prev = lv_folder.
|
gv_prev = lv_folder.
|
||||||
cl_gui_frontend_services=>get_file_separator( CHANGING file_separator = lv_sep ).
|
lo_frontend_serv->get_file_separator( CHANGING cv_file_separator = lv_sep ).
|
||||||
|
|
||||||
LOOP AT ls_files_item-files ASSIGNING <ls_file>.
|
LOOP AT ls_files_item-files ASSIGNING <ls_file>.
|
||||||
lv_fullpath = |{ lv_folder }{ lv_sep }{ <ls_file>-filename }|.
|
lv_fullpath = |{ lv_folder }{ lv_sep }{ <ls_file>-filename }|.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user