Show TOC

HintergrundFunktionsbaustein FILE_VALIDATE_NAME

 

Der Funktionsbaustein FILE_VALIDATE_NAME prüft mit einem logischen Dateinamen, ob ein physischer Dateiname den Vorgaben des logischen Dateinamens entspricht.

Beispiel

Folgende Abbildung zeigt an einem vereinfachten Beispiel das Funktionsprinzip von FILE_VALIDATE_NAME. In diesem Beispiel ist das Betriebssystem des Anwendungsservers Microsoft Windows.

Das Beispielprogramm ACCESS_APPLSERVER_FILE kennt als konstanten Wert den logischen Dateinamen PHYS_FILE_VALIDATION.

Wenn ein Benutzer mit dem Programm auf die Datei c:\tmp\my_file zugreift, laufen folgende Schritte ab:

  • Das System ruft Funktionsbaustein FILE_VALIDATE_NAME auf.

  • Dieser ruft Funktionsbaustein FILE_GET_NAME auf. Damit ermittelt er den zum logischen Dateinamen und zum passenden Betriebssystem zugehörigen vollständigen physischen Dateinamen. Diesen gibt er an FILE_VALIDATE_NAME zurück.

  • Das System vergleicht die beiden physischen Dateinamen – aus der Selektionsbildeingabe einerseits und der Rückgabe des FILE_GET_NAME-Aufrufs andererseits – miteinander.

  • Wenn die beiden Dateinamen übereinstimmen, kann der Benutzer auf die Datei zugreifen.

  • Wenn die beiden Dateinamen nicht übereinstimmen, löst Funktionsbaustein FILE_VALIDATE_NAME die Ausnahme VALIDATION_FAILED aus. Das Programm kann dem Benutzer den Zugriff auf die Datei verweigern.

Prüfung auf Verzeichnisse

Sie brauchen die Prüfung nicht auf konkrete Dateinamen zu beschränken, sondern können ganze Bereiche eines Dateisystems als Zugriffsziel zulassen. In diesem Fall führt das System die Prüfung nur für den Pfad des hinterlegten Verzeichnisses aus:

Voraussetzung hierfür ist, dass der logische Dateiname das Datenformat DIR hat.

Normalisierung und absolute Dateinamen

Funktionsbaustein FILE_VALIDATE_NAME übernimmt noch eine weitere Funktion.

Wenn ein Benutzer einen physischen Dateinamen eingegeben hat, welcher Betriebssystemkommandos zur Navigation im Dateisystem enthält, dann interpretiert das System diese Navigation vor dem Vergleich mit dem Ergebnis aus FILE_GET_NAME. Ebenso wandelt es den ermittelten physischen Dateinamen in einen absoluten Dateinamen um, um einen sinnvollen Vergleich zu ermöglichen. Im folgenden Beispiel ist das globale Arbeitsverzeichnis c:\tmp.

Auf diese Weise ist sichergestellt, dass der Benutzer nur auf in diesem Kontext vorgesehene Dateien zugreifen kann.

Schnittstellen des Funktionsbausteins FILE_VALIDATE_NAME

Importparameter

Funktion

CLIENT

Logische Dateinamen können auch mandantenspezifisch definiert sein. Dieser Parameter ermittelt den Mandanten, dessen Definition das System verwenden soll. Vorschlagswert ist der aktuelle Mandant, wie er im Systemfeld SY-MANDT abgelegt ist.

LOGICAL_FILENAME

Logischer Dateiname, der für die Validierung verwendet werden soll (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

Können beliebige Werte an die mit <PARAM_1> bis <PARAM_3> bezeichneten Platzhalter in den physischen Datei- und Pfadnamen übergeben.

WITH_FILE_EXTENSION

Kennzeichnet, dass das für den logischen Dateinamen definierte Dateiformat als Dateinamenerweiterung an den physischen Dateinamen angehängt werden soll.

USE_BUFFER

Kennzeichnet, dass die Steuerungstabellen gepuffert werden sollen.

ELEMINATE_BLANKS

Legt fest, ob alle Leerzeichen aus dem zurückgegeben Dateinamen entfernt werden sollen.

Hinweis Hinweis

Die Importparameter werden von FILE_VALIDATE_NAME an FILE_GET_NAME weitergegeben, um einen physischen Dateinamen zu ermitteln. Mit diesem vergleicht das System den Inhalt des CHANGING-Parameters PHYSICAL_FILENAME. Sie beeinflussen also die Bestimmung des physischen Dateinamens, der für die Validierung verwendet wird.

Ende des Hinweises

Exportparameter

Funktion

VALIDATION_ACTIVE

Wenn der Wert ungleich SPACE ist, konnte das System zum logischen Dateinamen oder einem zugeordneten Alias einen physischen Dateinamen ermitteln.

TS_ALIAS

Sortierte Tabelle der definierten Aliasse (einschließlich des übergebenen logischen Dateinamens).

CHANGING-Parameter

Funktion

PHYSICAL_FILENAME

Beschreibt den physischen Dateinamen, den FILE_VALIDATE_NAME mit den Einstellungen des übergebenen logischen Dateinamens vergleicht. Da der physische Dateiname ggf. normalisiert werden muss, ist er vom Typ CHANGING.

Ausnahmen

Funktion

LOGICAL_FILENAME_NOT_FOUND

Wird ausgelöst, wenn der Funktionsbaustein FILE_GET_NAME seinerseits die Ausnahme FILE_NOT_FOUND an FILE_VALIDATE_NAME propagiert hat.

VALIDATION_FAILED

Wird ausgelöst, wenn der physische Dateiname in PHYSICAL_FILENAME nicht den Einschränkungen gemäß LOGICAL_FILENAME entspricht.