‎2007 Aug 23 9:53 AM
hi ,
i have to get the filename while uploading into one variable ,
for eg
suppose file name is sivakumar.txt
1.if i upload from desktop C:\Documents and Settings\sivakumar\Desktop\sivakumar.txt
2. if from c: c:\sivakumar.txt
i have to get only sivakumar.txt in the both case ....
i should upload the file from any where but i should get filename in my variable
right now i am using split command for desktop file could any one can help me
‎2007 Aug 23 10:04 AM
you can try this code may be helpful for you
data : text LIKE RLGRAP-FILENAME VALUE
'C:Documents and SettingssivakumarDesktopsivakumar.txt'.
DATA : LEN TYPE I,
POS TYPE I,
V_CH,
TEMP(50).
COMPUTE LEN = STRLEN( TEXT ).
POS = LEN - 1.
DO LEN TIMES.
V_CH = TEXT+POS(1).
IF V_CH = ''.
EXIT.
ELSE.
CONCATENATE TEMP V_CH INTO TEMP.
ENDIF.
POS = POS - 1.
ENDDO.
CALL FUNCTION 'STRING_REVERSE'
EXPORTING
STRING = TEMP
LANG = SY-LANGU
IMPORTING
RSTRING = TEMP
EXCEPTIONS
TOO_SMALL = 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.
WRITE : / TEMP.
regards
shiba dutta
‎2007 Aug 23 9:56 AM
‎2007 Aug 23 9:57 AM
hi
use event
at selection-screen on value-request for p_field_name
call function 'F4_FILENAME'
‎2007 Aug 23 9:59 AM
Hi
here check this program i am spliting the record depend upon ',' and dont use ws_upload etc fm's are obsolete....
data: begin of itab_string occurs 0,
record type char255,
end of itab_string.
data: L_FILETABLE TYPE FILETABLE,
L_FILETAB_H TYPE FILETABLE WITH HEADER LINE.
data: p_file1 type string.
selection screen .
PARAMETERS: P_FILE TYPE LOCALFILE.
initialization.
at selection-screen on value-request for P_FILE.
IF THE USER SELECT EXTENTION BUTTON IT WILL OPEN THE LOCAL DIRECTORY FOR SELECTING THE FILE LOCATION.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
EXPORTING
WINDOW_TITLE =
DEFAULT_EXTENSION = 'CSV'
DEFAULT_FILENAME = 'C:\Documents and Settings\196093\Desktop\STATUS.csv'
FILE_FILTER =
INITIAL_DIRECTORY = 'C:\Documents and Settings\196093\Desktop\'
MULTISELECTION =
WITH_ENCODING =
CHANGING
FILE_TABLE = L_FILETABLE
RC = RC
USER_ACTION =
FILE_ENCODING =
EXCEPTIONS
FILE_OPEN_DIALOG_FAILED = 1
CNTL_ERROR = 2
ERROR_NO_GUI = 3
NOT_SUPPORTED_BY_GUI = 4
others = 5
.
IF SY-SUBRC <> 0.
ELSE.
LOOP AT l_filetable INTO L_FILETAB_H.
P_FILE = L_FILETAB_H-FILENAME.
move p_file to p_file1.
EXIT.
ENDLOOP.
ENDIF.
passing the selected file name to gui_upload for loading the data
into internal table
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = p_file1
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = ' '
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
CHECK_BOM = ' '
NO_AUTH_CHECK = ' '
IMPORTING
FILELENGTH =
HEADER =
TABLES
DATA_TAB = itab_string
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 I000(Z00) WITH 'PLEASE PROVIDE CORRECT FILE NAME'.
ENDIF.
loop at itab_string.
now split the statuses
split itab_string at ',' into itab_status-aufnr itab_status-asttx itab_status-asttx1.
and move one internal table
append itab_status.
clear itab_status.
endloop.
reward points to all helpful answers
kiran.M
‎2007 Aug 23 10:04 AM
you can try this code may be helpful for you
data : text LIKE RLGRAP-FILENAME VALUE
'C:Documents and SettingssivakumarDesktopsivakumar.txt'.
DATA : LEN TYPE I,
POS TYPE I,
V_CH,
TEMP(50).
COMPUTE LEN = STRLEN( TEXT ).
POS = LEN - 1.
DO LEN TIMES.
V_CH = TEXT+POS(1).
IF V_CH = ''.
EXIT.
ELSE.
CONCATENATE TEMP V_CH INTO TEMP.
ENDIF.
POS = POS - 1.
ENDDO.
CALL FUNCTION 'STRING_REVERSE'
EXPORTING
STRING = TEMP
LANG = SY-LANGU
IMPORTING
RSTRING = TEMP
EXCEPTIONS
TOO_SMALL = 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.
WRITE : / TEMP.
regards
shiba dutta