Upload Tab delimited file from PC into ABAP internal table
ABAP code for uploading a TAB delimited file into an internal table. See code below for structures. The code is base on uploading a simple txt file.
*&---------------------------------------------------------------------* *& Report ZUPLOADTAB * *& * *&---------------------------------------------------------------------* *& Example of Uploading tab delimited file * *&---------------------------------------------------------------------* REPORT zuploadtab . PARAMETERS: p_infile LIKE rlgrap-filename OBLIGATORY DEFAULT '/usr/sap/'.. *DATA: ld_file LIKE rlgrap-filename. DATA: gd_file type string. *Internal tabe to store upload data TYPES: BEGIN OF t_record, name1 LIKE pa0002-vorna, name2 LIKE pa0002-name2, age TYPE i, END OF t_record. DATA: it_record TYPE STANDARD TABLE OF t_record INITIAL SIZE 0, wa_record TYPE t_record. *Internal table to upload data into DATA: BEGIN OF it_datatab OCCURS 0, row(500) TYPE c, END OF it_datatab. *Text version of data table TYPES: BEGIN OF t_uploadtxt, name1(10) TYPE c, name2(15) TYPE c, age(5) TYPE c, END OF t_uploadtxt. DATA: wa_uploadtxt TYPE t_uploadtxt. *String value to data in initially. DATA: wa_string(255) TYPE c. CONSTANTS: con_tab TYPE x VALUE '09'. *If you have Unicode check active in program attributes then you will *need to declare constants as follows: *class cl_abap_char_utilities definition load. *constants: * con_tab type c value cl_abap_char_utilities=>HORIZONTAL_TAB. ************************************************************************ *AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_INFILE. AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_infile. CALL FUNCTION 'WS_FILENAME_GET' EXPORTING def_filename = p_infile mask = ',*.txt.' mode = 'O' title = 'Upload File'(078) IMPORTING filename = p_infile EXCEPTIONS inv_winsys = 1 no_batch = 2 selection_cancel = 3 selection_error = 4 OTHERS = 5. ************************************************************************ *START-OF-SELECTION START-OF-SELECTION. gd_file = p_infile. CALL FUNCTION 'GUI_UPLOAD' EXPORTING filename = gd_file has_field_separator = 'X' "file is TAB delimited TABLES data_tab = it_record EXCEPTIONS file_open_error = 1 file_read_error = 2 no_batch = 3 gui_refuse_filetransfer = 4 invalid_type = 5 no_authority = 6 unknown_error = 7 bad_data_format = 8 header_not_allowed = 9 separator_not_allowed = 10 header_too_long = 11 unknown_dp_error = 12 access_denied = 13 dp_out_of_memory = 14 disk_full = 15 dp_timeout = 16 OTHERS = 17. IF sy-subrc NE 0. write: 'Error ', sy-subrc, 'returned from GUI_UPLOAD FM'. skip. endif. * Alternative method, where by you split fields at each TAB after you * have returned the data. No point unless you dont have access to * GUI_UPLOAD but just included for information * * CALL FUNCTION 'GUI_UPLOAD' * EXPORTING * filename = gd_file * filetype = 'ASC' * TABLES * data_tab = it_datatab "ITBL_IN_RECORD[] * EXCEPTIONS * file_open_error = 1 * OTHERS = 2. * IF sy-subrc NE 0. * ELSE. * LOOP AT it_datatab. * CLEAR: wa_string, wa_uploadtxt. * wa_string = it_datatab. * SPLIT wa_string AT con_tab INTO wa_uploadtxt-name1 * wa_uploadtxt-name2 * wa_uploadtxt-age. * MOVE-CORRESPONDING wa_uploadtxt TO wa_record. * APPEND wa_record TO it_record. * ENDLOOP. * ENDIF. ************************************************************************ *END-OF-SELECTION END-OF-SELECTION. *!! Text data is now contained within the internal table IT_RECORD * Display report data for illustration purposes LOOP AT it_record INTO wa_record. WRITE:/ sy-vline, (10) wa_record-name1, sy-vline, (10) wa_record-name2, sy-vline, (10) wa_record-age, sy-vline. ENDLOOP.
Related Articles
HEX codes and there associated ABAP declaration within SAP
Display files on SAP Application Server(UNIX)
Browse files on SAP Application Server(UNIX)
Downloading files to PC(Presentation Server)
Downloading files to SAP Application Server
Popup window to select a File using function module WS_FILENAME_GET
Get list of files within specific directory or SAP Application server
Directory selection for ABAP report using SAP method DIRECTORY_BROWSE
File Selection for ABAP report using SAP object method FILE_OPEN_DIALOG
Save file location popup on ABAP report selection screen using FILE_SAVE_DIALOG
ABAP Upload and download Function Modules in SAP
SAP File Selection Window - various methods of adding a file selection popup to your ABAP report
Upload Tab delimited file from PC into ABAP internal table
Upload and download files into and out of SAP or your PC
ABAP to check if file exists before downloading from SAP
SAP Upload Excel document into internal table
ABAP to Upload Excel document into internal table on SAP system including .xlsx
Upload Excel document into ABAP internal table
ABAP Uploading files from PC to SAP R/3 system
ABAP to Upload files from SAP Application Server
Upload Tab delimited file from application server into ABAP internal table
Example Excel Spreadsheet used to demo SAP upload and download using ABAP
Download file from SAP unix system to your desktop using transaction SXDA