
Anwendungsprogramme nutzen logische Dateinamen in Verbindung mit dem Funktionsbaustein FILE_GET_NAME. Basierend auf den im Customizing hinterlegten Definitionen erzeugt der Funktionsbaustein zur Laufzeit zu einem logischen Dateinamen den entsprechenden physischen Dateinamen.
Die folgende Tabelle gibt eine Übersicht der Import- und Exportparameter sowie der Ausnahmebedingungen des Funktionsbausteins.
|
Importparameter |
Funktion |
|---|---|
|
CLIENT |
Logische Dateinamen können auch mandantenspezifisch definiert sein. Dieser Parameter ermittelt den Mandanten, dessen Definition der Funktionsbaustein verwenden soll. Der Vorschlagswert ist der aktuelle Mandant, wie er im Systemfeld SY-MANDT abgelegt ist. |
|
LOGICAL_FILENAME |
Übergibt den logische Dateinamen. (Großschreibung ist erforderlich!) |
|
OPERATING_SYSTEM |
Bestimmt das Betriebssystem, für das der Dateiname ermittelt werden soll. Vorschlagswert ist das Betriebssystem des Anwendungsservers, wie es im Systemfeld SY OPSYS abgelegt ist. |
|
PARAMETER_1 PARAMETER_2 PARAMETER_3 |
Kann beliebige Werte an die mit <PARAM_1> bis <PARAM_3> bezeichneten Platzhalter in den physischen Datei- und Pfadnamen übergeben. |
|
USE_PRESENTATION_SERVER |
Gibt an, dass der Dateiname auf der Grundlage des Betriebssystems des Präsentationsservers ermittelt werden soll. Das durch Parameter OPERATING_SYSTEM importierte Betriebssystem soll nicht verwendet werden. |
|
WITH_FILE_EXTENSION |
Gibt an, dass das für den logischen Dateinamen definierte Dateiformat als Dateinamenerweiterung an den physischen Dateinamen angehängt werden soll. Ausnahme: Wenn das Datenformat des logischen Dateinamens DIR ist, ignoriert das System den Parameter WITH_FILE_EXTENSION (siehe Parameter INCLUDING_DIR). |
|
USE_BUFFER |
Gibt an, dass die Steuerungstabellen gepuffert werden sollen. |
|
ELEMINATE_BLANKS |
Legt fest, ob sämtliche Leerzeichen aus dem zurückgegeben Dateinamen entfernt werden sollen. |
|
INCLUDING_DIR |
In den meisten Anwendungsfällen benötigt die Anwendung, welche den Funktionsbaustein FILE_GET_NAME aufruft, einen vollständigen physischen Dateinamen zur weiteren Verarbeitung, z.B. zur Verwendung in Verbindung mit OPEN DATASET oder ähnlichen Befehlen. Für die Validierung von Benutzereingaben wurde das Datenformat DIR eingeführt. Wenn ein logischer Dateiname das Datenformat DIR hat, ist das Ergebnis von FILE_GET_NAME ein physischer Pfadname. Standardmäßig ist das Kennzeichen INCLUDING_DIR nicht gesetzt. Das aufrufende Programm gibt somit an, dass es einen physischen Dateinamen benötigt. Da ein logischer Dateiname mit dem Datenformat DIR diese Bedingung nicht erfüllt, löst das System die Ausnahme FILE_NOT_FOUND aus. Wenn die aufrufende Anwendung das Kennzeichen INCLUDING_DIR setzt, gibt sie damit an, dass sie als Ergebnis von FILE_GET_NAME auch einen physischen Dateipfad verarbeiten kann. In diesem Fall wird der ermittelte Pfadname an die aufrufende Anwendung zurückgegeben. Hinweis
Wenn das Kennzeichen INCLUDING_DIR gesetzt ist, ignoriert das System den Parameter WITH_FILE_EXTENSION. Es gibt eventuell einen leeren Dateinamen an die aufrufende Anwendung zurück. Es führt in diesem Fall die Logik gemäß der Beschreibung des Exportparameters EMERGENCY_FLAG nicht aus. Weitere Informationen über die Validierung von Benutzerangaben finden Sie unter Funktionsbaustein FILE_VALIDATE_NAME im Abschnitt Prüfung auf Verzeichnisse. |
|
Exportparameter |
Funktion |
|---|---|
|
EMERGENCY_FLAG |
Wenn der Wert ungleich SPACE ist, konnte das System zum logischen Dateinamen für das vorliegende Betriebssystem aus den Angaben im Customizing keinen physischen Dateinamen ermitteln (weitere Details finden Sie im Hinweis im Anschluss an die Schnittstellendokumentation). In diesem Fall verwendet das System den im Profilparameter DIR_GLOBAL angegebenen Pfad als physischen Pfad. |
|
FILE_FORMAT |
Dieser Parameter enthält das für den logischen Dateinamen definierte Dateiformat. Sie können mit diesem Parameter z.B. entscheiden, in welchem Modus die Datei geöffnet werden soll. |
|
FILE_NAME |
Dieser Parameter enthält den vollständigen physischen Dateinamen einschließlich Pfadangabe. |
|
Ausnahmen |
Funktion |
|---|---|
|
FILE_NOT_FOUND |
Wird ausgelöst, wenn der logische Dateiname nicht definiert ist. |
|
OTHERS |
Wird ausgelöst, wenn andere Fehler auftreten. |
Die folgenden Ursachen führen dazu, dass der Funktionsbaustein für das vorliegende Betriebssystem keinen physischen Pfad ermitteln kann (siehe Parameter EMERGENCY_FLAG):
Das Betriebssystem ist in den Steuerungstabellen nicht definiert.
Das Betriebssystem ist zwar definiert, aber keiner Syntaxgruppe zugeordnet.
Dem logischen Pfad ist für die Syntaxgruppe kein physischer Pfad zugeordnet.
Dem logischen Dateinamen ist kein logischer Pfad zugeordnet.
Zur logischen Datei DATA_FILE und dem logischen Pfad DATA_PATH liegen folgende Definitionen vor:
|
DATA_FILE |
phys. Datei: |
datei <PARAM_1> |
|
|
Datenformat: |
BIN |
||
|
logischer Pfad: |
DATA_PATH |
||
|
DATA_PATH |
Syntaxgruppe: |
UNIX |
phys. Pfad: /tmp/<FILENAME > |
|
Syntaxgruppe: |
Windows NT |
phys. Pfad: c:\tmp\<FILENAME > |
Das Betriebssystem des Anwendungsservers ist der Syntaxgruppe UNIX, das Betriebssystem des Präsentationsservers der Syntaxgruppe Windows NT zugeordnet. Die beiden folgenden Aufrufe des Funktionsbausteins liefern die jeweils angegebenen Rückgabewerte.
Beispiel 1
CALL FUNCTION 'FILE_GET_NAME'
EXPORTING
LOGICAL_FILENAME = 'DATA_FILE'
PARAMETER_1 = '01'
IMPORTING
EMERGENCY_FLAG = LD_EMERGENCY_FLAG
FILE_FORMAT = LD_FILE_FORMAT
FILE_NAME = LD_FILE_NAME
EXCEPTIONS
FILE_NOT_FOUND = 1
OTHERS = 2.
Rückgabewerte:
|
Variable |
Inhalt |
|
ld_emergency_flag |
Space |
|
ld_file_format |
BIN |
|
ld_file_name |
/tmp/datei01 |
Beispiel 2
CALL FUNCTION 'FILE_GET_NAME'
EXPORTING
LOGICAL_FILENAME = 'DATA_FILE'
USE_PRESENTATION_SERVER = 'X'
WITH_FILE_EXTENSION = 'X'
IMPORTING
EMERGENCY_FLAG = LD_EMERGENCY_FLAG
FILE_FORMAT = LD_FILE_FORMAT
FILE_NAME = LD_FILE_NAME
EXCEPTIONS
FILE_NOT_FOUND = 1
OTHERS = 2.
Rückgabewerte:
|
Variable |
Inhalt |
|
ld_emergency_flag |
Space |
|
ld_file_format |
BIN |
|
ld_file_name |
C:\tmp\DATEI.BIN |