Skip to Content
0
Former Member
Dec 21, 2007 at 10:32 AM

Problem in GUI_UPLOAD

1005 Views

hi experts,

i want to upload data from flat file ( notepad) to internal table and from there to database table. for that i have written the following code ,

But the data is not uploaded , instead it gives an error 5 i.e. 'INVALID type' (given in Exceptions of function module GUI_UPLOAD)

the code is as below............

Could anybody modify it ?

REPORT ZSB_GUI_UPLOAD.

TABLES : ZSB_TAB1.

DATA: w_tab TYPE ZSB_TAB1.

DATA: i_tab TYPE STANDARD TABLE OF ZSB_TAB1.

DATA : v_subrc(2),

v_recswritten(6).

PARAMETERS: p_file(80) DEFAULT 'C:\1\UPLOAD.TXT'.

DATA: filename TYPE string,

w_ans(1) TYPE c.

filename = p_file.

CALL FUNCTION 'POPUP_TO_CONFIRM'

EXPORTING

titlebar = 'Upload Confirmation'

  • DIAGNOSE_OBJECT = ' '

text_question = 'upload ?'

text_button_1 = 'yes'(001)

  • ICON_BUTTON_1 = ' '

text_button_2 = 'NO'(002)

  • ICON_BUTTON_2 = ' '

default_button = '2'

  • DISPLAY_CANCEL_BUTTON = 'X'

  • USERDEFINED_F1_HELP = ' '

  • START_COLUMN = 25

  • START_ROW = 6

  • POPUP_TYPE =

  • IV_QUICKINFO_BUTTON_1 = 'YES'

  • IV_QUICKINFO_BUTTON_2 = 'NO'

IMPORTING

answer = w_ans

  • TABLES

  • PARAMETER =

  • EXCEPTIONS

  • TEXT_NOT_FOUND = 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.

CHECK w_ans = 1.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

filename = filename

FILETYPE = 'dat'

*has_field_separator = 'X'

  • HEADER_LENGTH = 0

  • READ_BY_LINE = 'X'

  • IMPORTING

  • FILELENGTH =

  • HEADER =

TABLES

data_tab = i_tab

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.

  • SYST FIELDS ARE NOT SET BY THIS FUNCTION SO DISPLAY THE ERROR CODE *

IF sy-subrc <> 0.

v_subrc = sy-subrc.

MESSAGE e899(ZMSG) WITH 'File Open Error' v_subrc.

ENDIF.

INSERT ZSB_TAB1 FROM TABLE i_tab.

COMMIT WORK AND WAIT.

MESSAGE i899(ZMSG) WITH sy-dbcnt 'Records Written to ZSB_TAB1'.