‎2008 Mar 10 1:20 PM
I Created a .txt file in my C drive containg data " Hello " string type.I want 2 trasfer that data " Hello " into internal table.For that i called a method "GUI_UPLOAD".Am getting problem at declaring the internal table.help me...! By below code am not getting error,but data not inserted 2 internal table...!
REPORT ZFILE1.
data:FNAME1 TYPE STRING.
*data:FNAME1 TYPE .
DATA: BEGIN OF ITAB OCCURS 0,
FNAME type FNAME1,
FNAME1 type FNAME1,
END OF ITAB.
*DATA: ITAB OCCURS 0 WITH HEADER LINE.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = 'C:\ARV.TXT'
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
CHECK_BOM = ' '
VIRUS_SCAN_PROFILE =
NO_AUTH_CHECK = ' '
IMPORTING
FILELENGTH =
HEADER =
TABLES
DATA_TAB = ITAB
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 <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
WRITE:/ ITAB.
‎2008 Mar 10 1:25 PM
Hi,
Please check if you need the parameter :
HAS_FIELD_SEPARATOR = 'X'
or not since it is just one word that can be a problem
Regards,
Himanshu
‎2008 Mar 10 1:39 PM
Common Data to both
DATA:
wk_rec(5000) TYPE c,
t_mesg LIKE t100-text.
DATA:
BEGIN OF in_rec,
leadid TYPE zleadid,
branch_to TYPE werks_d,
END OF in_rec,
it_conv LIKE STANDARD TABLE OF in_rec.
File on your PC (Presentation Server). This will handle tab delimited files.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
filename = zfile
filetype = 'DAT'
TABLES
data_tab = it_conv
EXCEPTIONS
file_open_error = 2
file_read_error = 3.
This will handle from Application Server, tab delmited
CONSTANTS:
c_tab TYPE x VALUE '09'.
OPEN DATASET zfile FOR INPUT IN TEXT MODE MESSAGE t_mesg.
IF sy-subrc NE 0.
scr_err = 'X'.
MESSAGE e100(z0) WITH 'Error opening input file:' t_mesg.
ENDIF.
CHECK scr_err IS INITIAL.
DO.
READ DATASET zfile INTO wk_rec.
IF sy-subrc <> 0.
EXIT.
ENDIF.
SPLIT wk_rec AT c_tab INTO in_rec-leadid in_rec-branch_to.
APPEND in_rec TO it_conv.
ENDDO.
CLOSE DATASET zfile.
‎2008 Mar 10 1:33 PM
Hai,
See this code.
REPORT ZFILE1.
data:FNAME1 TYPE STRING.
DATA: BEGIN OF ITAB OCCURS 0,
FNAME like FNAME1,
END OF ITAB.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = 'C:\ARV.TXT'
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = ' '
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
CHECK_BOM = ' '
VIRUS_SCAN_PROFILE =
NO_AUTH_CHECK = ' '
IMPORTING
FILELENGTH =
HEADER =
TABLES
DATA_TAB = ITAB
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 <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
loop at itab.
WRITE:/ ITAB.
endloop.
Regards,
Kamala.
‎2008 Mar 10 1:34 PM
hi Arvind,
WRITE:/ ITAB.
this means you write the header line of the internal table, you have to change like:
LOOP AT itab.
WRITE:/ ITAB.
ENDLOOP.
hope this helps
ec
‎2008 Mar 10 1:36 PM
try this
REPORT ZFILE1.
DATA:FNAME1 TYPE STRING.
DATA: BEGIN OF ITAB OCCURS 0,
FNAME like FNAME1,
FNAME1 like FNAME1,
END OF ITAB.
*DATA: ITAB OCCURS 0 WITH HEADER LINE.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = 'C:\ARV.TXT'
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
CHECK_BOM = ' '
VIRUS_SCAN_PROFILE =
NO_AUTH_CHECK = ' '
IMPORTING
FILELENGTH =
HEADER =
TABLES
DATA_TAB = itab
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 <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
‎2008 Mar 10 2:17 PM
Hi,
Try using code below:
data : begin of itab1 occurs 0,
values(1000) type c,
end of itab1.
PARAMETERS : p_file LIKE rlgrap-filename OBLIGATORY.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
CLEAR p_file.
CALL FUNCTION 'F4_FILENAME'
IMPORTING
file_name = p_file.
filename = p_file.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = filename
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
TABLES
DATA_TAB = itab1
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
.
Thanks,
Sriram Ponna.