Anfang des Inhaltsbereichs

Öffnen einer Datei an einer bestimmten Position Dokument im Navigationsbaum lokalisieren

Um eine Datei an einer bestimmten Position zu öffnen, verwenden Sie den Zusatz AT POSITION der Anweisung OPEN DATASET:

Syntax

OPEN DATASET <dsn> [FOR ....] [IN ... MODE] AT POSITION <pos>.

Diese Anweisung öffnet eine Datei <dsn> und setzt die Positionierung für das Lesen oder Schreiben auf <pos>. Die Position <pos> wird vom Anfang der Datei an in Bytes gezählt. Sie können keine Position angeben, die vor dem Beginn der Datei liegt.

Die Angabe einer Position <pos> ist hauptsächlich dann sinnvoll, wenn Sie im Binärmodus arbeiten, da die physische Darstellung einer Textdatei vom Betriebssystem abhängt.

Beispiel

DATA fname(60) TYPE c VALUE 'myfile'.

DATA num TYPE I.

OPEN DATASET fname FOR OUTPUT AT POSITION 16.
DO 5 TIMES.
  num = num + 1.
  TRANSFER num TO fname.
ENDDO.

OPEN DATASET fname FOR INPUT.
DO 9 TIMES.
  READ DATASET fname INTO num.
  WRITE / num.
ENDDO.

OPEN DATASET fname FOR INPUT AT POSITION 28.
SKIP.
DO 2 TIMES.
  READ DATASET fname INTO num.
  WRITE / num.
ENDDO.

Ausgabe:

0
0
0
0
1
2
3
4
5

4
5

In diesem Beispiel wird die Datei "myfile" im Binärmodus geöffnet (Standardmodus). Die Anfangsposition wird für das Schreiben mit 16 und für das Lesen mit 28 angegeben. Wie in diesem Beispiel dargestellt, sind Positionsangaben für das Schreiben und Lesen von Ganzzahlen dann sinnvoll, wenn die Positionen durch 4 teilbar sind.

 

Ende des Inhaltsbereichs