2007 Mar 06 4:41 PM
Hi ,
Could some one paste the code for a dynamic upload of a file in data base table ?
i did this way plz correct where i am wrong ..
tables tadir.
DATA: FN(20) TYPE C.
SELECTION-SCREEN BEGIN OF BLOCK B1.
PARAMETERS: FNAME like FN ,
tabname like tadir-OBJ_NAME.
SELECTION-SCREEN END OF BLOCK B1.
DATA: FN1 TYPE STRING,itab like standard table of tabname .
FN1 = FNAME.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = FN1
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = '#'
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
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.
MODIFY (tabname) FROM TABLE itab.
commit work.
2007 Mar 06 10:40 PM
Hi,
You internal table declaration is not dynamic. so you are not able to do it. check the code below..
report ztest.
tables tadir.
DATA: FN(20) TYPE C.
SELECTION-SCREEN BEGIN OF BLOCK B1.
PARAMETERS: FNAME like FN ,
tabname like tadir-OBJ_NAME.
SELECTION-SCREEN END OF BLOCK B1.
field-symbols: <fs> type standard table.
DATA dref TYPE REF TO data.
create data dref type standard table of (tabname).
assign dref->* to <fs>.
DATA: FN1 TYPE STRING.
FN1 = FNAME.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = FN1
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = '#'
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
IMPORTING
FILELENGTH =
HEADER =
TABLES
DATA_TAB = <fs>
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.
MODIFY (tabname) FROM TABLE <fs>.
commit work.
I tested this as well. Award points if it helps.
Hi,
You internal table declaration is not dynamic. so you are not able to do it. check the code below..
report ztest.
tables tadir.
DATA: FN(20) TYPE C.
SELECTION-SCREEN BEGIN OF BLOCK B1.
PARAMETERS: FNAME like FN ,
tabname like tadir-OBJ_NAME.
SELECTION-SCREEN END OF BLOCK B1.
field-symbols: <fs> type standard table.
DATA dref TYPE REF TO data.
create data dref type standard table of (tabname).
assign dref->* to <fs>.
DATA: FN1 TYPE STRING.
FN1 = FNAME.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = FN1
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = '#'
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
IMPORTING
FILELENGTH =
HEADER =
TABLES
DATA_TAB = <fs>
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.
MODIFY (tabname) FROM TABLE <fs>.
commit work.
I tested this as well. Award points if it helps.
2007 Mar 06 10:40 PM
Hi,
You internal table declaration is not dynamic. so you are not able to do it. check the code below..
report ztest.
tables tadir.
DATA: FN(20) TYPE C.
SELECTION-SCREEN BEGIN OF BLOCK B1.
PARAMETERS: FNAME like FN ,
tabname like tadir-OBJ_NAME.
SELECTION-SCREEN END OF BLOCK B1.
field-symbols: <fs> type standard table.
DATA dref TYPE REF TO data.
create data dref type standard table of (tabname).
assign dref->* to <fs>.
DATA: FN1 TYPE STRING.
FN1 = FNAME.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = FN1
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = '#'
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
IMPORTING
FILELENGTH =
HEADER =
TABLES
DATA_TAB = <fs>
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.
MODIFY (tabname) FROM TABLE <fs>.
commit work.
I tested this as well. Award points if it helps.
| User | Count |
|---|---|
| 6 | |
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |