- DA: Data Access (Dateizugriffsroutine aktivieren)
DA typ [, param ]
Mit diesem Kommando kann ein alternativer Datenzugriff auf die aktuell im Display befindliche Datei festgelegt werden. Dies bedeutet, daß die Datensätze in einer anderen Sortierreihenfolge bzw. in einem anderen Datenformat angezeigt werden.
typ Art des Datenzugriffs. Gegenwärtig sind folgende Zugriffsarten realisiert:
I Zugriff auf eine NK-ISAM Datei gemäß einem mit CREate-Alternate-Index eingerichteten Sekundärschlüssel.
CCS Der Dateiinhalt wird für die Anzeige von dem angegebenen (vermuteten) Character-Set in den Terminalcode umgewandelt. Damit kann man bei unbekannter Kodierung (kein CCS im Katalog) testen, in welchem Zeichensatz die Datei erstellt wurde.
DACCS ohne Parameter wandelt den Dateiinhalt zur Anzeige aus dem im CCS-Feld des Katalogs hinterlegten Code in den Terminalcode um.
CODE Zeichenweises Konvertieren der Datensätze/Datenblöcke für die Bildschirmdarstellung. Die Datensätze in der Datei werden nicht verändert.
FLAM Zugriff auf eine mit dem Softwareprodukt FLAM komprimierte Datei. Die Datensätze werden im Originalformat, d.h. unkomprimiert angezeigt.
param Zusatzparameter für den Datenzugriff. Je nach Art des Datenzugriffs (CCS/CONV/I/FLAM) hat der Parameter verschiedene Bedeutungen:
CCS [,ccsname]
CODE {, UPPER | UPPER2 | LOWER | EBCTOASC | ASCTOEBC | datei} [, K=Y]
UPPER Umsetzung aller Kleinbuchstaben in Großbuchstaben.
X'00' --> X'00' (unverändert)
X'4F' (ö bzw. |) --> X'4F' (unverändert)
X'FB' (ä bzw. {) --> X'FB' (unverändert)
X'FD' (ü bzw. }) --> X'FD' (unverändert)
UPPER2 Umsetzung aller Kleinbuchstaben in Großbuchstaben.
X'00' --> X'40' (Blank)
X'4F' (ö bzw. |) --> X'BC' (Ö bzw. ~)
X'FB' (ä bzw. {) --> X'BB' (Ä bzw. [)
X'FD' (ü bzw. }) --> X'BD' (Ü bzw. ])
LOWER Umsetzung aller Großbuchstaben in Kleinbuchstaben.
X'40' --> X'40' (unverändert)
X'BC' (Ö bzw. ~) --> X'BC' (unverändert)
X'BB' (Ä bzw. [) --> X'BB' (unverändert)
X'BD' (Ü bzw. ]) --> X'BD' (unverändert)
ASCTOEBC Umsetzung von ASCII Zeichen nach EBCDIC.
EBCTOASC Umsetzung von EBCDIC Zeichen nach ASCII.
datei Umsetzung gemäß einer benutzereigenen Tabelle. Die Umsetztabelle ist in der angegebenen Datei (SAM, Recform=V) definiert. Die Datei enthält 16 Datensätze entsprechend den umzusetzenden Codepositionen 00 - 0F (Satz 1), 10 - 1F (Satz 2), ..., F0 - FF (Satz 16). Jeder Datensatz ist 16 oder 32 Byte lang. Bei 32 Byte werden die Daten als hexadezimale Codierungen interpretiert. Bei 16 Byte werden die Daten als direkte Character Codierungen interpretiert.
K=Y Bei ISAM-Dateien sollen auch die Daten des Schlüssels konvertiert werden. Standardmäßig werden die ISAM-Schlüssel von der Konvertierung ausgenommen.
Eine neue Datei, die tatsächlich die umgesetzten Zeichen enthält, kann mit dem Kommando W$,datei erzeugt werden.
I Beim ISAM-Zugriff wird mit diesem Parameter der gewünschte Alternate Index angegeben. Die Datensätze werden aufsteigend gemäß dem Alternate Index angezeigt.
FLAM Bei der Option FLAM können Parameter angegeben werden, die die Art der Dekomprimierung beeinflussen, z.B. DAFLAM,TR=A/E. Durch diesen Parameter werden die Daten bei der Dekomprimierung vom ASCII- in den EBCDIC-Zeichensatz umgesetzt. Für eine ausführliche Beschreibung aller Parameter siehe "FLAM-Benutzerhandbuch".
NDA Die Datenzugriffsart wird auf die Standardeinstellung zurückgesetzt.
Hinweise:
Mit dem DA-Kommando können auch benutzerspezifische Zugriffe auf Datenbanken realisiert werden. Eine detaillierte Beschreibung des Data Access Interface ist auf Wunsch verfügbar.
Durch das W-Kommando können die Datensätze in der dargestellten Reihenfolge bzw. in dem dargestellten Format (d.h. bei FLAM entkomprimiert) in eine andere Datei geschrieben werden. Bei DA I,key wird in der durch Write erzeugten ISAM-Datei die Keypos und Keylen des gerade aktivierten Sekundärschlüssels verwendet.
Bei der hexadezimalen Anzeige (Kommando H) werden die Daten anders als bei EDT oder Show-File nicht in der Originalkodierung angezeigt. CFS zeigt die hexadezimalen Daten bei eingeschaltetem DA-Modus in dem internen Code EDF01 an.
Ein durch das Kommando DA festgelegter alternativer Datenzugriff auf die Display-Datei gilt solange, bis der Display-Modus durch die K1-Taste bzw. die Kommandos D/NF/LF/LST für die aktuelle Datei beendet wird. Während des Display kann durch das Kommando NDA in die Standardzugriffsmethode umgeschaltet werden.
Ab der BS2000-Version 7.0 werden Unicode-Objekte unterstützt.
Unter Unicode-Objekten verstehen wir Dateien/PLAM-Bibliothekselemente, deren Datensätze in einem der folgenden CCS (Coded Character Sets) codiert sind: UTF16 (= UNICODE), UTF8, UTFE. Die Codes der alphanumerischen Zeichen (A - Z, a -z, 0 - 9) sind in UTF16 und UTF8 grundsätzlich verschieden vom EBCDIC-Code. Unter UTFE besitzen zumindest die alphanumerischen Zeichen die gleichen Codes wie in EBCDIC.
Im Display-/Modify-Modus von CFS werden die Inhalte von Unicode-Objekten in lesbarer Form dargestellt. Voraussetzung hierfür ist BS2000 >= 7.0 (XHCS Version >= 2.0), sowie der zur Codierung passende CCS-Eintrag im Systemkatalog bzw. im Inhaltsverzeichnis der PLAM-Bibliothek. Siehe hierzu auch die CFS User Option CCS.
DA UNI,EDF0xxx
Erkennt CFS eine Unicode-Datei am zugehörigen CCS-Eintrag, so wird intern das Kommando DA UNI,EDF04F ausgeführt. Der Benutzer kann jedoch selbst ein anderes Kommando DA UNI,EDF04xx eingeben, falls z.B. das Euro-Zeichen nicht an der erwarteten hexadezimalen EBCDIC-Position steht.
Das Kommando DA UNI,EDF04xx bewirkt folgendes:
a) Läuft CFS unter einer 8-bit Emulation, so werden alle Unicode-Zeichen, die im 8-bit Character Set EDF04xx darstellbar sind, zur Bildschirmanzeige in diesen Code umgesetzt.
b) Läuft CFS unter einer 7-bit Emulation, so werden alle Unicode-Zeichen, die im 7-bit Character Set EDF03IRV darstellbar sind, zur Bildschirmanzeige in diesen Code umgesetzt.
Alle Unicode-Zeichen, die im gewählten Code nicht definiert sind, werden als Schmierzeichen (X'08') dargestellt.
Im Hexadezimal-Modus von CFS (Display-Kommando H) werden die Daten der Unicode-Datei in der EDFxxx-Codierung angezeigt. Damit können auch im Hexa-Modus keine Unicode-Zeichen eingegeben werden, die außerhalb der EBCDIC Codevarianten liegen.
Um ein Unicode-Objekt im native-Modus, d.h. in der originalen, nicht umgesetzten Codierung anzuschauen, ist das CFS-Kommando NDA einzugeben. Bei UTF16-Dateien wird in diesem Fall jedes Zeichen als 2-Byte Folge dargestellt. Die gewohnten alphanumerischen Zeichen sind dann für den Benutzer nicht mehr erkennbar. Im Hexadezimalmodus können jedoch, falls bekannt, die Codierungen von fremdsprachlichen Zeichen (z.B. Kyrillisch) modifiziert werden.
DA CODE,UTFxxTOEBC
Mit diesem Kommando können die alphanumerischen Zeichen von Unicode codierten Dateien auch ohne korrekten CCS-Eintrag im Katalog, bzw. in älteren BS2000-Versionen < 7.0 in einer lesbaren Form am Bildschirm angezeigt werden. Eine Änderung der Dateninhalte ist hierbei jedoch nicht möglich.
Falls eine Datei keinen, bzw. einen falschen CCS-Eintrag im Katalog besitzt, kann man mit
DA CODE,UTF16TOEBCD
DA CODE UTF8TOEBCD
den tatsächlich für die Codierung der Daten verwendeten CCS testen und der Datei evtl. mit /MOD-FILE-ATTR datei,C-C-S=code zugewiesen.
Es ist zu beachten, daß bei der UTF16 Codierung alphanumerische Zeichen als 2-Byte mit führendem Leerzeichen dargestellt werden.