‎2008 May 28 6:12 AM
Hi gurus,
I have to upload a file from presentation server.For this i have declared a parameter in selection screen and gave F4 help using FM f4_filename.But that is not giving the F4 help to browse a file which is in the presentation server.
After giving the filename how 2 pass the file values into an internal table.
‎2008 May 28 6:16 AM
Hi,
Use the following method.
CALL METHOD cl_gui_frontend_services=>FILE_OPEN_DIALOG
Reward if useful.
‎2008 May 28 6:16 AM
Hi,
Use the following method.
CALL METHOD cl_gui_frontend_services=>FILE_OPEN_DIALOG
Reward if useful.
‎2008 May 28 6:16 AM
Hi,
Using F4_FILENAME function module we can port data into flatfile. This is material related details.
Try the below code.
&----
*& Report ZFILENAME_TEST
*&
&----
*&
*&
&----
REPORT ZFILENAME_TEST.
TABLES : MARA.
************************INTERNAL TABLE DECLARATION****************
TYPES : BEGIN OF ITAB,
MATNR TYPE MARA-MATNR,
MEINS TYPE MARA-MEINS,
ERNAM LIKE MARA-ERNAM,
AENAM LIKE MARA-AENAM,
MTART LIKE MARA-MTART,
END OF ITAB.
DATA : IG_ITAB type ITAB OCCURS 0.
DATA : V_FILE TYPE STRING.
DATA : T_FILE TYPE RLGRAP-FILENAME.
**********************RETRIVE DATA FROM DATABASE******************
break sgopal.
SELECT
MATNR
MEINS ERNAM AENAM MTART FROM MARA
INTO CORRESPONDING FIELDS OF TABLE
IG_ITAB
up to 10 rows.
****************CALLING FUNCTION MODULES*************************
CALL FUNCTION 'F4_FILENAME' "PASS THE FILE NAME AS U NEED.
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = 'T_FILE'
IMPORTING
FILE_NAME = T_FILE.
V_FILE = T_FILE. "STRING CONVERSION
**************CALLING GUI DOWNLOAD TO EXTRACT********************
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE =
filename = V_FILE
FILETYPE = 'ASC'
APPEND = ' '
WRITE_FIELD_SEPARATOR = 'X'
HEADER = '00'
TRUNC_TRAILING_BLANKS = ' '
WRITE_LF = 'X'
COL_SELECT = ' '
COL_SELECT_MASK = ' '
DAT_MODE = ' '
CONFIRM_OVERWRITE = ' '
NO_AUTH_CHECK = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
WRITE_BOM = ' '
TRUNC_TRAILING_BLANKS_EOL = 'X'
WK1_N_FORMAT = ' '
WK1_N_SIZE = ' '
WK1_T_FORMAT = ' '
WK1_T_SIZE = ' '
IMPORTING
FILELENGTH =
tables
data_tab = IG_ITAB
FIELDNAMES =
EXCEPTIONS
FILE_WRITE_ERROR = 1
NO_BATCH = 2
GUI_REFUSE_FILETRANSFER = 3
INVALID_TYPE = 4
NO_AUTHORITY = 5
UNKNOWN_ERROR = 6
HEADER_NOT_ALLOWED = 7
SEPARATOR_NOT_ALLOWED = 8
FILESIZE_NOT_ALLOWED = 9
HEADER_TOO_LONG = 10
DP_ERROR_CREATE = 11
DP_ERROR_SEND = 12
DP_ERROR_WRITE = 13
UNKNOWN_DP_ERROR = 14
ACCESS_DENIED = 15
DP_OUT_OF_MEMORY = 16
DISK_FULL = 17
DP_TIMEOUT = 18
FILE_NOT_FOUND = 19
DATAPROVIDER_EXCEPTION = 20
CONTROL_FLUSH_ERROR = 21
OTHERS = 22
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Regards,
Jagadish
‎2008 May 28 6:25 AM
Hi ,
See below example code , it may help u get the F4 help to get file from Presentation server.
types : begin of typ_itab,
lifnr type lifnr,
ekorg type ekorg,
ktokk type ktokk,
name1 type name1,
sortl type sortl,
land1 type land1,
waers type lfm1-waers,
end of typ_itab.
data : it_itab type standard table of typ_itab initial size 0,
wa_itab type typ_itab,
v_file like rlgrap-filename,
u_file type string,
parameters : p_file like rlgrap-filename.
at selection-screen on value-request for p_file.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = ' '
IMPORTING
FILE_NAME = v_file.
if v_file is not initial.
p_file = v_file.
endif.
start-of-selection.
u_file = p_file.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = u_file
FILETYPE = 'ASC'
TABLES
DATA_TAB = it_itab.
loop at it_itab INTO wa_itab.
Write:/ wa_itab-lifnr, wa_itab-ekorg, wa_itab-ktokk, wa_itab-name1,
wa_itab-sortl, wa_itab-land1, wa_itab-waers.
endloop.
or else use
CG3Y = Download
CG3Z = Upload
Regards,
Vishvesh
if helpful, rewards it.
‎2008 May 28 6:30 AM
hi,
1) check ur selection-screen on value-requset for ur-filenme.
check wether its rite, then
2) pass ur file name in FM f4_filename.
3) now use gui_upload to get the file into ur prog./report.
note: file should be of type string. change the file type from rlgrap to string. to do that simply declare a variable of type string and str_file = ur_file. now, pass str_file to gui_upload.
4) pass ur internal table in the tables parameter to get the values of file into ur itab in FM gui_upload.
5) try this it wil work. feel free to ask doubts..
reward if helpful
regards
mano
‎2008 May 28 6:35 AM
hi,
use this ccode
at selection-screen on value-request for file_in.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = ' '
IMPORTING
FILE_NAME = file_in
to get file value in itab use this..
file_l = file_in.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = file_l
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 = VIRUS_SCAN_PROFILE
NO_AUTH_CHECK = ' '
IMPORTING
FILELENGTH = FILELENGTH
HEADER = HEADER
TABLES
data_tab = itab_mm ((pass ur itab here))
reward if helpful
regards
mano