open dataset abap 01

DATA: MESS(60),
      FNAME(10) VALUE '/tmp'.

OPEN DATASET FNAME FOR OUTPUT MESSAGE MESS.

IF SY-SUBRC <> 0.
  WRITE: 'SY-SUBRC:', SY-SUBRC,
       / 'System Message:', MESS.
ENDIF.

If the R/3 System is ruining under UNIX, the output looks like this:

This graphic is explained in the accompanying text

The system cannot open the file, since the name you specified is that of a directory.

Example

The following program shows how the system sets the position when you open a file for writing. However, it is better programming style to close files that are already open before you reopen them for a different operation (for further information about closing files, refer to Closing a File ).

DATA FNAME(60) VALUE 'myfile'.
DATA NUM TYPE I.

OPEN DATASET FNAME FOR OUTPUT.

DO 10 TIMES.
  NUM = NUM + 1.
  TRANSFER NUM TO FNAME.
ENDDO.

PERFORM INPUT.

OPEN DATASET FNAME FOR OUTPUT.

NUM = 0.
DO 5 TIMES.
  NUM = NUM + 10.
  TRANSFER NUM TO FNAME.
ENDDO.

PERFORM INPUT.

CLOSE DATASET FNAME.

OPEN DATASET FNAME FOR OUTPUT.

NUM = 0.
DO 5 TIMES.
  NUM = NUM + 20.
  TRANSFER NUM TO FNAME.
ENDDO.

PERFORM INPUT.

FORM INPUT.
  SKIP.
  OPEN DATASET FNAME FOR INPUT.
  DO.
    READ DATASET FNAME INTO NUM.
    IF SY-SUBRC <> 0.
      EXIT.
    ENDIF.
    WRITE / NUM.
  ENDDO.
ENDFORM.

The output appears as follows:

1
2
3
4
5
6
7
8
9
10

10
20
30
40
50
6
7
8
9
10

20
40
60
80
100

This example performs the following steps using the file "myfile":

It is opened for writing It is filled with 10 integers (for information about the TRANSFER statement, refer to Writing Data to Files ) It is then opened for reading. The position is reset accordingly to the beginning of the file. It is read into the field NUM. For information about the READ DATASET statement, refer to Reading Data from Files . The values of NUM are displayed on the screen. It is reopened for writing The position is reset to the beginning of the file. It is filled with five integers, which overwrite the previous contents of the file. It is then reopened for reading. The position is reset to the beginning of the file. The file is read into the field NUM. The values of NUM are displayed on the screen. It is closed (for information about the CLOSE DATASET statement, refer to Closing a File ). It is then reopened for writing. The system deletes the existing contents of the file. It is filled with 5 integers. It is then opened for reading. The position is reset to the beginning of the file. The file is read into the field NUM. The values of NUM are displayed on the screen
發佈了27 篇原創文章 · 獲贊 4 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章