Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

open data set!!

Former Member
0 Likes
739

HI

request u to provide me with a sample example reg fetching data from application server!!

Regards

Gunjan

7 REPLIES 7
Read only

Former Member
0 Likes
708

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

Read only

Former Member
0 Likes
708

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

Read only

anversha_s
Active Contributor
0 Likes
708

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

Read only

Former Member
0 Likes
708

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

Read only

Former Member
0 Likes
708

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

Read only

Former Member
0 Likes
708

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

Read only

Former Member
0 Likes
708

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.