REPORT zfsl_gdirfn.
DATA: it_file LIKE STANDARD TABLE OF sdokpath WITH HEADER LINE,
it_dir LIKE STANDARD TABLE OF sdokpath WITH HEADER LINE,
file_count TYPE i,
dir_count TYPE i.
PARAMETER: pdirp TYPE pfeflnamel OBLIGATORY, " Directory Path from where you want to get Name of Files
psavep TYPE string OBLIGATORY. " Excel File Path and Name in which you want to Save Name of Files
CALL FUNCTION 'TMP_GUI_DIRECTORY_LIST_FILES' " To Get the Name of Files in Internal Table of Given Directory
EXPORTING
directory = pdirp
filter = '*.*'
IMPORTING
file_count = file_count " Number of File in Directory
dir_count = dir_count " Number of Directory in Directory
TABLES
file_table = it_file " Table for Name of Files
dir_table = it_dir " Table for Name of Directories
EXCEPTIONS
cntl_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
IF file_count IS NOT INITIAL.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename = psavep " Path and Name of Excel File with Extension .xls
TABLES
data_tab = it_file " Internal Table having all Name of Files
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
OTHERS = 22.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ELSE.
MESSAGE: 'No file found in the selected Directory' TYPE 'I'.
ENDIF.
INITIALIZATION.
pdirp = 'C:\'.
psavep = 'C:\test.xls'.
*F4 for Getting Directory Path
AT SELECTION-SCREEN ON VALUE-REQUEST FOR pdirp.
DATA: fname TYPE string.
CALL METHOD cl_gui_frontend_services=>directory_browse
EXPORTING
window_title = 'Select Directory'
CHANGING
selected_folder = fname
EXCEPTIONS
cntl_error = 1
error_no_gui = 2
not_supported_by_gui = 3
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
pdirp = fname.
*F4 for Getting File Path and Name
AT SELECTION-SCREEN ON VALUE-REQUEST FOR psavep.
DATA: filename TYPE string,
path TYPE string.
CALL METHOD cl_gui_frontend_services=>file_save_dialog
EXPORTING
window_title = 'Select path and file name'
default_extension = 'XLS'
CHANGING
filename = filename
path = path
fullpath = psavep
EXCEPTIONS
cntl_error = 1
error_no_gui = 2
not_supported_by_gui = 3
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
Showing posts with label ABAP General. Show all posts
Showing posts with label ABAP General. Show all posts
Monday, November 15, 2010
Get Name of Files from Selected Directory to Excel File
Labels:
ABAP General
Subscribe to:
Posts (Atom)