Ansicht
Dokumentation
ABAPGET_DATASET - GET DATASET
General Data in Customer Master BAL Application Log DocumentationDiese Dokumentation steht unter dem Copyright der SAP AG.
GET DATASET
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.
- Inline-Deklaration DATA(var) oder FINAL(var), wobei eine Variable vom Typ i deklariert wird.
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 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_OPEN_MODE Die Datei ist nicht geöffnet
- 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 )