‎2006 Nov 29 8:37 AM
HI
request u to provide me with a sample example reg fetching data from application server!!
Regards
Gunjan
‎2006 Nov 29 8:40 AM
You should be able to find example of reading files in Help. http://help.sap.com/saphelp_nw2004s/helpdata/en/79/c554dcb3dc11d5993800508b6b8b11/content.htm
Regards,
Ravi
Note - Please mark all the helpful answers
‎2006 Nov 29 8:40 AM
open dataset dsn for input in text mode.
if sy-subrc = 0.
do.
read dataset dsn into wa.
if sy-subrc = 0.
append wa to itab.
clear wa.
else.
exit.
endif.
enddo.
close dataset dsn.
endif.
Regards,
Ravi
‎2006 Nov 29 8:41 AM
hi,
<i><b>READ A FILE</b></i>
parameters: p_file like rlgrap-filename obligatory
default '/usr/sap/upload.xls'.
types: begin of t_data,
vbeln like vbap-vbeln,
posnr like vbap-posnr,
matnr like vbap-matnr,
werks like vbap-werks,
megne like vbap-zmeng,
end of t_data.
data: it_data type standard table of t_data,
wa_data type t_data.
open dataset p_file for output in text mode encoding default.
if sy-subrc ne 0.
write:/ 'Unable to open file:', p_file.
else.
do.
read dataset p_file into wa_data.
if sy-subrc ne 0.
exit.
else.
append wa_data to it_data.
endif.
enddo.
close dataset p_file.
endif.
And if you want to write on the file.
*--- open UNIX file
open dataset unixfile for output in text mode message w_msg.
if sy-subrc ne 0.
write: / 'Cannot open for writing:', unixfile, w_msg.
exit.
endif.
*--- write UNIX file
loop at it_file.
transfer it_file to unixfile.
endloop.
*--- close UNIX file
close dataset unixfile.rgds
Anver
‎2006 Nov 29 8:42 AM
Hi gunjan,
Check this code.
* F4 filename for Application server
CALL FUNCTION '/SAPDMC/LSM_F4_SERVER_FILE'
EXPORTING
directory = '/emn_R3/ehs '
filemask = ' '
IMPORTING
serverfile = dl_file
EXCEPTIONS
canceled_by_user = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE e999 WITH 'Error while getting the file name'(005).
EXIT.
ELSE.
dg_filename = dl_file.
ENDIF.
DATA : dl_string(250). " String
*--Open data set
OPEN DATASET dg_filename FOR INPUT IN TEXT MODE ENCODING DEFAULT.
IF sy-subrc <> 0.
dg_subrc = sy-subrc.
ELSE.
*--Transfer data
DO.
READ DATASET dg_filename INTO dl_string.
IF sy-subrc = 0.
APPEND dl_string TO dt_data.
CLEAR dl_string.
ELSE.
EXIT.
ENDIF.
ENDDO.
*--Close data set
CLOSE DATASET dg_filename.
ENDIF.
Thanks & Regards,
Siri.
Message was edited by:
Srilatha T
‎2006 Nov 29 8:44 AM
Hi Gunjan,
try this:
DATA: PARAMETERS: P_FILEUN LIKE RLGRAP-FILENAME.
*
DATA: BEGIN OF ITAB OCCURS 0,
LINE(200),
END OF ITAB.*
*
OPEN DATASET P_FILEUN FOR INPUT IN TEXT MODE.
IF SY-SUBRC NE 0. MESSAGE E001. EXIT. ENDIF.
*
DO.
*
READ DATASET P_FILEUN INTO ITAB.
*
IF SY-SUBRC <> 0. EXIT. ENDIF.
*
APPEND ITAB.
*
ENDDO.
*
CLOSE DATASET P_FILEUN.
*
Hope it helps.
Regards, Dieter
‎2006 Nov 29 8:45 AM
Hi Gunjan,
Please see example program for retreiving data from application server.
DATA:
lv_filename(120) TYPE c, " Filename
lv_record TYPE char255. " Record
lv_filename = '/devabap/testfile.dat'.
* Opening the file in text mode as read-only.
open DATASET lv_filename
FOR input IN text MODE
encoding DEFAULT.
IF sy-subrc NE 0.
MESSAGE 'Error while opening a file' TYPE 'E'.
ENDIF.
* Reading the records from the file.
DO.
READ DATASET lv_filename INTO lv_record.
IF sy-subrc NE 0.
EXIT.
ENDIF.
WRITE: / lv_record.
ENDDO.
* Close dataset
CLOSE DATASET lv_filename.If helps plz reward points.
Regards
Bhupal Reddy
‎2006 Nov 29 8:49 AM
Hi
Eg1:
DATA FNAME(60) VALUE 'myfile'.
DATA: TEXT1(12) VALUE 'abcdefghijkl',
TEXT2(5),
LENG TYPE I.
OPEN DATASET FNAME FOR OUTPUT IN BINARY MODE.
TRANSFER TEXT1 TO FNAME.
CLOSE DATASET FNAME.
OPEN DATASET FNAME FOR INPUT IN BINARY MODE.
DO.
READ DATASET FNAME INTO TEXT2 LENGTH LENG.
WRITE: / SY-SUBRC, TEXT2, LENG.
IF SY-SUBRC <> 0.
EXIT.
ENDIF.
ENDDO.
CLOSE DATASET FNAME.
The output is:
0 abcde 5
0 fghij 5
4 kl### 2
Eg2:
DATA FNAME(60) VALUE 'myfile'.
DATA: TEXT1(4) VALUE '1234 ',
TEXT2(8) VALUE '12345678',
TEXT3(2),
LENG TYPE I.
OPEN DATASET FNAME FOR OUTPUT IN TEXT MODE.
TRANSFER: TEXT1 TO FNAME,
TEXT2 TO FNAME.
CLOSE DATASET FNAME.
OPEN DATASET FNAME FOR INPUT IN TEXT MODE.
DO 2 TIMES.
READ DATASET FNAME INTO TEXT3 LENGTH LENG.
WRITE: / TEXT3, LENG.
ENDDO.
CLOSE DATASET FNAME.
The output appears as follows:
12 4
12 8
If you want detailed explaination with example see the following link:
http://help.sap.com/saphelp_nw04/helpdata/en/fc/eb3c8c358411d1829f0000e829fbfe/frameset.htm
Regards
Surya.