Ansicht
Dokumentation

ABAPOPEN_DATASET_OS_ADDITION - OPEN DATASET OS ADDITION

ABAPOPEN_DATASET_OS_ADDITION - OPEN DATASET OS ADDITION

BAL Application Log Documentation   Vendor Master (General Section)  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

OPEN DATASET, os_additions

Kurzreferenz



... $[TYPE attr$]
    $[FILTER opcom$] ...

Zusätze:

1. ... TYPE attr

2. ... FILTER opcom

Wirkung

Mit diesen Zusätzen können betriebssystemspezifische Einstellungen vorgenommen und Betriebssystem-Anweisungen abgesetzt werden.

Zusatz 1

... TYPE attr

Wirkung

Dieser Zusatz verhält sich abhängig vom Betriebssystem des Hostrechners der aktuellen Wenn es sich nicht um ein MS-Windows-Betriebssystem handelt, kann für attr ein zeichenartiges Feld angegeben werden, das betriebssystemabhängige Parameter der zu öffnenden Datei enthält. Diese Parameter werden ohne Überprüfung der Korrektheit und unverändert an das Betriebssystem der übergeben.

Wenn es sich um ein MS-Windows-Betriebssystem handelt, die Datei als Textdatei oder als Legacy-Textdatei geöffnet und der Zusatz WITH LINEFEED nicht verwendet wird, steuert der Inhalt von attr die standardmäßige Zeilenende-Markierung der Textdatei:

  1. Wenn attr den Wert "NT" enthält, wird "CRLF" als Zeilenende-Markierung verwendet.
  2. Wenn attr den Wert "UNIX" enthält, wird "LF" als Zeilenende-Markierung verwendet.

Alle anderen Werte von attr werden in den MS-Windows-Betriebssystemen ignoriert und die Zeilenende-Markierung wird wie bei dem Zusatz WITH LINEFEED beschrieben gesetzt.

Hinweis

Statt Angabe der Werte "UNIX" oder "NT" hinter TYPE wird die prinzipielle Verwendung des Zusatzes WITH LINEFEED empfohlen. Wenn dieser verwendet wird, ist die Angabe der Werte "UNIX" oder "NT" nicht erlaubt.

Beispiel

Erzeugen einer Datei test.dat. Die unter TYPE angegebenen Eigenschaften sind spezifisch für das Betriebssystem IBM i5/OS (früher OS/400).

Zusatz 2

... FILTER opcom

Wirkung

Dieser Zusatz kann verwendet werden, wenn das Betriebssystem des Hostrechners der aktuellen Pipes unterstützt (Unix und MS-Windows). Für opcom kann ein zeichenartiges Feld angegeben werden, das eine Betriebssystem-Anweisung entsprechend der jeweiligen Kommando-Ebenen-Syntax enthält.

Bei Ausführung der Anweisung OPEN DATASET wird ein Prozess im Betriebssystem für die angegebene Anweisung gestartet. Wenn die Datei zum Lesen geöffnet wird, wird ein Kanal (Pipe) mit STDOUT des Prozesses verbunden, aus dem dann beim Lesen die Daten gelesen werden. Die Datei selbst wird mit STDIN des Prozesses verbunden. Wenn die Datei zum Schreiben geöffnet wird, wird ein Kanal (Pipe) mit STDIN des Prozesses verbunden, in den dann beim Schreiben die Daten transferiert werden. Die Ausgabe des Prozesses wird in die Datei umgeleitet.

Wenn in der automatischen Berechtigungsprüfung für den Dateizugriff über die Datenbanktabelle SPTH eine Prüfung über eine Berechtigungsgruppe und das Berechtigungsobjekt S_PATH ausgeführt wird, muss der aktuelle Benutzer für die Verwendung des Zusatzes FILTER eine Berechtigung für die Aktivität "A6" (Lesen) oder "A7" (Ändern) haben.

Der Zusatz FILTER darf nicht gemeinsam mit dem Zusatz AT POSITION oder bei der Zugriffsart FOR UPDATE verwendet werden.

Hinweise

  • Beim Arbeiten mit Pipes ist darauf zu achten, dass die Pipe nur im aktuellen Workprozess vorhanden ist. Wenn in der Zeit, in der die Datei geöffnet ist, ein Wechsel des Workprozesses stattfindet, geht die Pipe verloren und ein Schreib- oder Lesezugriff führt zu einer behandelbaren Ausnahme der Klasse CX_SY_PIPE_REOPEN.
  • Aus Kompatiblitätsgründen wird bei einer Überprüfung des Berechtigungsobjekts S_PATH neben den Werten "A6" oder "A7" auch noch ein leerer Wert für die Aktivität akzeptiert, wenn der Zusatz FILTER verwendet wird.

Die Verwendung einer Betriebssystem-Anweisung, die von außen in ein Programm übernommen wird, stellt ein ernsthaftes Sicherheitsrisiko dar. Eine Anweisung, die von außen in ein Programm übernommen wird, muss vor ihrer Verwendung gründlich überprüft werden. Siehe System Command Injections.

Beispiel

Auf einer Unix-Plattform werden die Anweisungen gzip als Filter zum Schreiben und gzip -d als Filter zum Lesen verwendet. Bei schreibenden Zugriffen werden die Daten komprimiert, bei lesenden Zugriffen dekomprimiert.






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

Length: 8390 Date: 20240605 Time: 230444     sap01-206 ( 130 ms )