Der Funktionsbaustein FILE_VALIDATE_NAME
prüft mit einem logischen Dateinamen, ob ein physischer Dateiname den Vorgaben des logischen Dateinamens entspricht.
Folgende Abbildung zeigt an einem vereinfachten Beispiel das Funktionsprinzip von FILE_VALIDATE_NAME
. In diesem Beispiel ist das Betriebssystem des Anwendungsservers Microsoft Windows
.
Funktionsprinzip
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.
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:
Prüfung
Voraussetzung hierfür ist, dass der logische Dateiname das Datenformat DIR hat.
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
.
Normalisierung
Auf diese Weise ist sichergestellt, dass der Benutzer nur auf in diesem Kontext vorgesehene Dateien zugreifen kann.
Importparameter |
Funktion |
---|---|
|
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 |
|
Logischer Dateiname, der für die Validierung verwendet werden soll (Großschreibung ist erforderlich). |
|
Bestimmt das Betriebssystem, für das der Dateiname ermittelt werden soll. Vorschlagswert ist das Betriebssystem des Anwendungsservers, wie es im Systemfeld |
|
Können beliebige Werte an die mit |
|
Kennzeichnet, dass das für den logischen Dateinamen definierte Dateiformat als Dateinamenerweiterung an den physischen Dateinamen angehängt werden soll. |
|
Kennzeichnet, dass die Steuerungstabellen gepuffert werden sollen. |
|
Legt fest, ob alle Leerzeichen aus dem zurückgegeben Dateinamen entfernt werden sollen. |
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.
Exportparameter |
Funktion |
---|---|
|
Wenn der Wert ungleich |
|
Sortierte Tabelle der definierten Aliasse (einschließlich des übergebenen logischen Dateinamens). |
CHANGING-Parameter |
Funktion |
---|---|
|
Beschreibt den physischen Dateinamen, den |
Ausnahmen |
Funktion |
---|---|
|
Wird ausgelöst, wenn der Funktionsbaustein |
|
Wird ausgelöst, wenn der physische Dateiname in |