Dieses Element enthält die Angaben darüber, welche dateispezifischen Zeichensätze openFT verwenden soll und welche Dateien mit den jeweiligen Zeichensätzen codiert sind. Mit openFT wird eine Reihe von Zeichensätzen in Form von so genannten Code-Tabellen ausgeliefert, siehe auch Abschnitt „Code-Tabellen verwalten“.
Die Auswahl des Zeichensatzes geschieht über den Namen der Sende- oder Empfangsdatei. Wenn openFT-AC genutzt wird, kann sich dieser Dateiname zusammensetzen aus der Angabe im Transfer-Auftrag und Angaben im Berechtigungsprofil, auf das beim Transfer-Auftrag zugegriffen wird.
Jede Zeile des Elements muss eine der folgenden Angaben enthalten:
den Namen des Zeichensatzes (Code-Tabelle) in folgender Form:
@ctabname [kommentar]
ctabname ist der Name der Code-Tabelle (1 bis 8 Zeichen, auch CCS-Name genannt)
ein Auswahlmuster für die Auswahl von Dateinamen, in dem das Zeichen "*" als Platzhalter für einen Dateinamensteil verwendet werden kann; das Zeichen "*" darf nur ein Mal in einem Auswahlmuster angegeben werden und steht für beliebig viele (auch 0) Zeichen
Beim Erstellen des Elements FNAMECTB sind folgende Regeln zu beachten:
Zwischen "@" und dem Namen des Zeichensatzes darf kein Leerzeichen stehen.
Auf eine Zeile, die den Namen eines Zeichensatzes enthält, können eine oder mehrere Zeilen mit Auswahlmustern für Dateinamen folgen. Alle Dateien, deren Name zu einem dieser Muster passt, werden diesem Zeichensatz zugeordnet.
Ein Tabellenname, dem kein Auswahlmuster zugeordnet wird, wird übergangen.
Wenn ein Tabellenname mehrfach angegeben wird, wird der Zeichensatz mehrfach eingelesen; alle angegebenen Zuordnungen von Auswahlmustern werden berücksichtigt.
Wenn ein Auswahlmuster mehrfach angegeben wird, gilt die erste angegebene Zuordnung.
Passt ein Dateiname zu mehreren Auswahlmustern, gilt der erste Treffer. Speziellere Auswahlmuster müssen daher vor allgemeineren Auswahlmustern angegeben werden.
Führende Leerzeichen in einer Zeile werden ignoriert, so dass die Angaben der Zuordnungen übersichtlich gestaltet werden können.
Alle Zeilen bis zum ersten Auftreten eines Tabellennamens werden als Kommentar behandelt.
Am Ende jeder Zeile kann ein Kommentar, getrennt durch mindestens ein Leerzeichen, angegeben werden.
Dateinamens-Patterns, die nicht in Hochapostrophen gerahmt sind, ignorieren den first level qualifier, sofern es sich nicht um openEdition-Dateien handelt.
Beispiel mit dem Pattern *A.TEXT:
'USERA.TEXT'
ist kein Treffer, da das A zum first level qualifier gehört
'USER1.AAA.TEXT'
ist ein Treffer
'/AAA.TEXT'
ist ein Treffer, da openEdition-Datei
openFT vergibt an jede eingelesene Code-Tabelle eine Tabellen-Identifikation. Eine Liste aller Code-Tabellen wird ins Job-Protokoll von openFT geschrieben; zu jeder Code-Tabelle werden dort auch die Tabellen-Identifikation und die zugeordneten Auswahlmuster für Dateinamen aufgeführt. Fehlerhafte Angaben in FNAMECTB und Fehler beim Laden einer Tabelle werden durch eine negative Zahl als Tabellen-Identifikation gekennzeichnet; die einzelnen Werte haben folgende Bedeutung:
Tabellen- | Bedeutung |
-1 | Syntaxfehler in der Angabe des Auswahlmusters |
-2 | Code-Tabelle konnte nicht geladen werden |
-3 | Syntaxfehler bei der Angabe des Namens einer Code-Tabelle; beispielsweise |
Fehler beim Einlesen des Elements FNAMECTB werden jedoch nicht protokolliert; es wird die bis zum Auftreten des ersten Fehlers entstandene Zuordnungsliste verwendet.
Beispiel für das Element FNAMECTB
In diesem Beispiel werden mögliche Einträge (auch einige fehlerhafte) im Element FNAMECTB und ihre Auswirkungen dargestellt einschließlich des resultierenden Eintrags im Job-Protokoll von openFT.
THIS MEMBER DEFINES FILE SPECIFIC CODE TABLES FOR OPENFT @FNCOD001 - SPECIAL TABLE 1 'USER1.*.TEXT' @FNCOD002 - SPECIAL TABLE 2 'USER2.ABC*' 'USER2.*ABC' *TEXT* 'USER3.DEF' @IBM037 - EBCDIC CODE PAGE 037 *.TEXT @IBM273 - EBCDIC CODE PAGE 273 DEF @IBM500 - EBCDIC CODE PAGE 500 *.CHAR @FNCODTABL XYZ* @ FNCOD000 *CHAR @UTF8 *.tst
Resultierender Eintrag im Job-Protokoll von openFT:
TABLE_ID CODETABLE PATTERN 0014FE00 FNCOD001 'USER1.*.TEXT' > (1) 0014FC00 FNCOD002 'USER2.ABC*' > (2) 0014FC00 FNCOD002 'USER2.*ABC' > (3) -1 FNCOD002 *TEXT* > (4) 0014FC00 FNCOD002 'USER3.DEF' > (5) 0014FA00 IBM037 *.TEXT > (6) -2 IBM273 DEF > (7) 0014F800 IBM500 *.CHAR > (8) -3 FNCODTAB XYZ* > (9) -3 FNCOD00 *CHAR > (10) 001E445F UTF8 *.tst > (11)
Erläuterungen
(1) | Alle Dateien, die den "first level qualifier" USER1 haben und deren Name mit ".TEXT" endet, werden mit dem Zeichensatz FNCOD001 codiert. |
(2) | Alle Dateien, die den "first level qualifier" USER2 haben und deren teilqualifizierter Dateiname mit "ABC" beginnt, werden mit dem Zeichensatz FNCOD002 codiert. |
(3) | Alle Dateien, die den "first level qualifier" USER2 haben und deren Name mit "ABC" endet, werden ebenfalls mit dem Zeichensatz FNCOD002 codiert. |
(4) | Syntaxfehler in der Angabe des Auswahlmusters: Das Zeichen "*" wird mehrfach angegeben. |
(5) | Die Datei 'USER3.DEF' wird ebenfalls mit dem Zeichensatz FNCOD002 codiert. |
(6) | Alle Dateien, deren Name mit ".TEXT" endet; werden mit dem Zeichensatz IBM037 codiert. Ausnahme: Dateien mit "first level qualifier" USER1, siehe (1). |
(7) | Alle Dateien mit dem teilqualifizierten Namen DEF (außer 'USER3.DEF' - siehe (5)) sollen mit dem Zeichensatz IBM273 codiert werden; diese Code-Tabelle kann aber nicht geladen werden, z.B. weil sie aus der Bibliothek gelöscht wurde. |
(8) | Alle Dateien, deren Name mit ".CHAR" endet, werden mit dem Zeichensatz IBM500 codiert. |
(9) | Syntaxfehler bei der Angabe des Namens der Code-Tabelle: Name länger als 8 Zeichen. - Beachten Sie: Mit diesem Eintrag sollen alle Dateien erfasst werden, deren teilqualifizierter Dateiname mit "ABC" beginnt, außer denjenigen, die den "first level qualifier" USER2 haben - siehe (2). |
(10) | Syntaxfehler bei der Angabe des Namens der Code-Tabelle: Zwischen "@" und dem Namen der Code-Tabelle steht ein Leerzeichen. - Beachten Sie: Mit diesem Eintrag sollen alle Dateien erfasst werden, deren Name mit "CHAR" endet, außer denjenigen, deren Name mit ".CHAR" endet - siehe (8). |
(11) | Alle Dateien, deren Name mit ".tst" endet, werden mit dem Zeichensatz UTF8 codiert. |