Ansicht
Dokumentation

ABAPGET_DATASET - GET DATASET

ABAPGET_DATASET - GET DATASET

General Data in Customer Master   BAL Application Log Documentation  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

GET DATASET

Kurzreferenz



GET DATASET dset $[POSITION pos$] $[ATTRIBUTES attr$].

Zusätze:

1. ... POSITION pos

2. ... ATTRIBUTES attr

Wirkung

Diese Anweisung stellt mit dem Zusatz POSITION die aktuelle Position des Dateizeigers in der in dset angegebenen Datei fest und beschafft mit dem Zusatz ATTRIBUTES weitere Eigenschaften der Datei.

Für dset wird ein zeichenartiges Datenobjekt erwartet, das den physikalischen Namen der Datei enthält. Die Datei muss geöffnet sein, ansonsten kommt es zu einer behandelbaren Ausnahme der Klasse CX_SY_FILE_OPEN_MODE.

Rückgabewert

Die Anweisung GET DATASET setzt sy-subrc immer auf den Wert 0 oder löst eine Ausnahme aus.

Hinweis

Falls keine Zusätze angegeben sind, kann die Anweisung dazu verwendet werden, um mit Hilfe einer TRY-Kontrollstruktur festzustellen, ob die Datei geöffnet ist.

Beispiel

Die Anweisung GET DATASET führt zu einer Ausnahme, wenn die Datei noch nicht geöffnet ist.

Zusatz 1

... POSITION pos

Wirkung

Dieser Zusatz weist dem Datenobjekt pos die aktuelle Position des Dateizeigers zu. Für pos kann angegeben werden:

  • Eine vorhandene Variable vom Datentyp i oder in die der Typ i konvertiert werden kann.

Die Positionierung wird in Byte angegeben, wobei der Dateianfang gleichbedeutend mit der Position 0 ist.

Der Zusatz POSITION kann nicht für Dateien angegeben werden, die mit dem Zusatz FILTER der Anweisung OPEN DATASET geöffnet wurden, ansonsten kommt es zu einer behandelbaren Ausnahme.

Hinweis

Bei Dateigrößen größer 2 GB ist ein Datenobjekt pos vom Datentyp i nicht zur Aufnahme aller möglichen Positionen des Dateizeigers ausreichend.

Beispiel

Nach dem Speichern des ersten Literals wird die Position des Dateizeigers der Variablen pos zugewiesen und diese zur Positionierung des Dateizeigers vor dem Lesezugriff verwendet.

Zusatz 2

... ATTRIBUTES attr

Wirkung

Dieser Zusatz stellt die Eigenschaften, mit denen die Datei mit der Anweisung OPEN DATASET geöffnet wurde, in das Datenobjekt attr. Für attr kann angegeben werden:

  • Eine vorhandene Variable vom Datentyp dset_attributes aus der Typgruppe DSET.
  • Eine Inline-Deklaration DATA(var), wobei eine Variable vom Typ dset_attributes deklariert wird.

Der Datentyp ist in der Typgruppe wie folgt definiert:

dset_attributes ist ein strukturierter Typ mit zwei Unterstrukturen fixed und changeable. Die Komponenten der Unterstruktur fixed nehmen Eigenschaften der Datei auf, die mit der Anweisung SET DATASET nicht geändert werden können (siehe Tabelle 1). Die Komponenten der Unterstruktur changeable nehmen Eigenschaften der Datei auf, die mit der Anweisung SET DATASET geändert werden können (siehe Tabelle 2).

Tabelle 1

Komponente Bedeutung
indicator Struktur, deren Komponenten mode, access_type, encoding, filter und linefeed in attr den Wert "X" enthalten, wenn die gleichnamigen Komponenten der Struktur fixed für die aktuelle Datei signifikant sind.
mode Ablageart. Mögliche Werte in attr sind "T", "LT", "B", "LB" für Textdateien, Legacy-Textdateien, Binärdateien, Legacy-Binärdateien. Der zugehörige Zusatz der Anweisung OPEN DATASET ist IN mode.
access_type Zugriffsart. Mögliche Werte in attr sind "I", "O", "A", "U" für Dateien, die zum Lesen, Schreiben, Anfügen, Ändern geöffnet wurden. Der zugehörige Zusatz der Anweisung OPEN DATASET ist FOR access.
encoding Zeichendarstellung. Mögliche Werte in attr sind "NON-UNICODE" und "UTF-8". Der zugehörige Zusatz der Anweisung OPEN DATASET ist ENCODING ${ DEFAULT $| UTF-8 $| NON-UNICODE $}.
filter Enthält in attr das Filter-Kommando, falls die Datei mit dem FILTER-Zusatz der Anweisung OPEN DATASET geöffnet wurde.
linefeed Enthält bei einer Textdatei oder Legacy-Textdatei die Zeilenende-Markierung die beim Zugriff verwendet wird.

Tabelle 2

Komponente Bedeutung
indicator Struktur, deren Komponenten repl_char, conv_errors, code_page, endian und linefeed_mode in attr den Wert "X" enthalten, wenn die gleichnamigen Komponenten der Struktur changeable für die aktuelle Datei signifikant sind.
repl_char Enthält in attr nach dem Öffnen der Datei das mit dem Zusatz REPLACEMENT CHARACTER der Anweisung OPEN DATASET angegebene Ersatzzeichen.
conv_errors Enthält in attr nach dem Öffnen der Datei den Wert "I", falls sie mit dem Zusatz IGNORING CONVERSION ERRORS der Anweisung OPEN DATASET geöffnet wurde, ansonsten "R".
code_page Enthält in attr nach dem Öffnen der Datei die mit dem Zusatz CODE PAGE der Anweisung OPEN DATASET angegebene Codepage. Falls der Zusatz nicht verwendet wird, ist der Inhalt in attr initial.
endian Enthält in attr nach dem Öffnen der Datei "B", wenn der Zusatz BIG ENDIAN, und "L", wenn der Zusatz LITTLE ENDIAN der Anweisung OPEN DATASET verwendet wurde. Falls der Zusatz nicht verwendet wird, ist der Inhalt in attr initial.
linefeed_mode Enthält in attr nach dem Öffnen der Datei einen der Werte "N", "S", "U" oder "W", wenn der entsprechende Zusatz WITH NATIVE$|SMART$|UNIX$|WINDOWS LINEFEED der Anweisung OPEN DATASET verwendet wurde. Falls keiner der Zusätze verwendet wird, ist der Inhalt in attr initial.

Für einige der Komponenten sind in der Typgruppe DSET Konstanten als Vergleichswerte definiert.

Hinweis

Die änderbaren Eigenschaften betreffen nicht die Eigenschaften der Datei im Betriebssystem, sondern die Eigenschaften, mit denen die Datei in ABAP geöffnet ist und nach denen sie in ABAP behandelt wird.

Beispiel

Es wird zunächst überprüft, ob die Datei test.dat mit dem Zusatz FILTER geöffnet wurde. Nur wenn dies nicht der Fall ist, wird mit GET DATASET die aktuelle Dateiposition bestimmt.

Ausnahmen

Behandelbare Ausnahmen

  • CX_SY_FILE_POSITION Die Datei konnte nicht gelesen werden, weil ein fehlerhafter Zustand vorliegt oder die Art der Datei keine Positionsangabe erlaubt
  • CX_SY_CONVERSION_OVERFLOW Die Variable pos ist mit einem Typ typisiert, der zu klein ist, die aktuelle Position aufzunehmen.






PERFORM Short Reference   CPI1466 during Backup  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 13619 Date: 20240425 Time: 002936     sap01-206 ( 162 ms )