Wednesday, August 6, 2008

Upload Values to the Table From Flat File

TABLES: /RB04/YT2_URLHLP.
TYPES: g_ty_line(1500) TYPE c.
DATA : g_t_urlhlp LIKE /RB04/YT2_URLHLP OCCURS 0.DATA : g_wa_urlhlp TYPE /RB04/YT2_URLHLP.
DATA : g_t_tot TYPE TABLE OF g_ty_line, g_wa_tot TYPE g_ty_line.
DATA : l_f_row_pos(10), l_f_col_pos(10).

* SELECTION SCREEN ELEMENTS
PARAMETER g_f_name LIKE rlgrap-filename.
* AT SELECTION-SCREEN EVENT
AT SELECTION-SCREEN ON VALUE-REQUEST FOR g_f_name.
PERFORM get_file_name CHANGING g_f_name.
START-OF-SELECTION.
DELETE FROM /RB04/YT2_URLHLP CLIENT SPECIFIED WHERE mandt = sy-mandt.
PERFORM upload_to_itab TABLES g_t_tot USING g_f_name.
IF NOT g_t_tot IS INITIAL.
LOOP AT g_t_tot INTO g_wa_tot.

SPLIT g_wa_tot AT ''
INTO g_wa_urlhlp-mandt
g_wa_urlhlp-NAVID
g_wa_urlhlp-spras
g_wa_urlhlp-URL.
APPEND g_wa_urlhlp TO g_t_urlhlp.
ENDLOOP.

ELSE.
MESSAGE s000(38) WITH 'No data gets uploaded'. ENDIF.
LOOP AT g_t_urlhlp INTO g_wa_urlhlp.

* insert /RB04/YT2_FCATXT FROM TABLE gt_fcatxt.
move-corresponding g_wa_urlhlp to /RB04/YT2_URLHLP. INSERT /RB04/YT2_URLHLP.
MESSAGE s000(38) WITH 'Record uploaded'.
ENDLOOP.

FORM get_file_name CHANGING pf_name.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
field_name = 'RLGRAP-FILENAME'
IMPORTING file_name = pf_name.
ENDFORM. " get_file_name

FORM upload_to_itab TABLES pt_tot STRUCTURE /RB04/YT2_URLHLP USING pf_name. CALL FUNCTION 'WS_UPLOAD'
EXPORTING
filename = pf_name
filetype = 'ASC'
TABLES
data_tab = pt_tot
EXCEPTIONS
conversion_error = 1
file_open_error = 2
file_read_error = 3
invalid_type = 4
no_batch = 5
unknown_error = 6
invalid_table_width = 7
gui_refuse_filetransfer = 8
customer_error = 9
OTHERS = 10.
ENDFORM. " upload_from_loc_to_itab

No comments:

Powered By Blogger