Show TOC

Funktionsbaustein FILE_GET_NAMELocate this document in the navigation structure

Verwendung

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.

Hinweis

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.

Beispiel

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