Der Dateizugriff erfolgt durch die Aktionsmakroaufrufe der verschiedenen Zugriffsmethoden. Das DVS übernimmt aber auch das Öffnen und Schließen einer Datei (OPEN/CLOSE-Behandlung) in Abhängigkeit von der jeweiligen Zugriffsart.
DVS-Makros der Dateiverarbeitung („Service-Makros“)
Die DVS-Makros der Dateiverarbeitung sind für mehrere Zugriffsmethoden gültige Makroaufrufe.
Makro | Kurzbeschreibung |
CLOSE | schließt eine oder mehrere Dateien |
EXLST | definiert Fehlerausgänge |
EXRTN | Rücksprung aus EXLST-Routinen |
FCB | legt einen Dateisteuerblock an (File Control Block = FCB) |
FCBAD | legt den FCB im Literalbereich eines Programms an |
LBRET | Rücksprung aus Benutzer-Kennsatzroutinen (Bandverarbeitung) |
OPEN | eröffnet eine Datei |
Zugriffsmethoden-spezifische Makroaufrufe
Es werden folgende Zugriffsmethoden unterschieden:
BTAM
DIV
EAM
FASTPAM
SAM
ISAM
UPAM
Für verschlüsselte Dateien erfolgt der Zugriff in gewohnter Form (mit Klartext-Inhalt). Das Entschlüsseln beim Lesen und das Verschlüsseln beim Schreiben werden intern und automatisch ausgeführt. Die Makros zum Dateizugriff in einem Programm brauchen dafür nicht geändert zu werden. Vor dem Öffnen der Datei muss nur das zugehörige CryptoKennwort in die Crypto-Kennworttabelle der zugreifenden Task eingetragen werden. Dies kann vor dem Starten des Programms erfolgen.
In den folgenden Tabellen sind die Makroaufrufe für den Dateizugriff den einzelnen Zugriffsmethoden zugeordnet.
BTAM = Basic Tape Access Method
BTAM ist eine Zugriffsmethode für blockorientierte Bandverarbeitung; mit BTAM lassen sich auch Banddateien verarbeiten, die nicht mit BTAM erstellt wurden. Während der Verarbeitung einer Banddatei kann die Verarbeitungsrichtung innerhalb der Datei beliebig gewechselt werden. Die Bänder können beliebig block- oder abschnittsweise positioniert werden. BTAM verarbeitet Dateien mit oder ohne Standardblockung.
Makro | Kurzbeschreibung |
BTAM | steuert alle BTAM-Aktionen |
FEOV | Bandwechsel auslösen |
NDWERINF | Status-Bytes abfragen |
DIV = Data In Virtual
Grundlage der Dateiverarbeitung für einen Anwender sind 4KByte große Blöcke. Mit DIV lassen sich auch Dateien verarbeiten, die nicht mit DIV erstellt wurden.
Makro | Kurzbeschreibung |
DIV | Dateien mit der Zugriffsmethode DIV bearbeiten
|
EAM = Evanescent Access Method
Mit EAM werden taskspezifische temporäre Dateien im SYSEAM-Bereich verarbeitet. EAM ist eine blockorientierte Zugriffsmethode und eignet sich vor allem für die schnelle Verarbeitung von tasklokalen Arbeitsdateien.
Makro | Kurzbeschreibung |
EAM | steuert alle EAM-Zugriffe |
FASTPAM = Fast Primary Access Method
FASTPAM ist eine blockorientierte Zugriffsmethode. Es arbeitet immer mit 4KB-Blöcken. Mit FASTPAM lassen sich auch Dateien verarbeiten, die nicht mit FASTPAM erstellt wurden.
Makro | Kurzbeschreibung |
FPAMACC | Dateizugriffe formulieren
|
FPAMSRV | Verwaltungsaufrufe formulieren
|
SAM = Sequential Access Method
SAM ist eine satzorientierte Zugriffsmethode. Die Sätze sind sequenziell in der Datei abgelegt. SAM ermöglicht dem Benutzer die Verarbeitung aufeinander folgender Datensätze, und zwar sowohl in Richtung Dateiende als auch Dateianfang. SAM erfüllt für die Bandverarbeitung alle von DIN 66029 bis Austauschstufe 3 gestellten Anforderungen; es können sowohl Dateien mit Standardblöcken als auch mit Nichtstandardblöcken verarbeitet werden.
Makro | Kurzbeschreibung |
FEOV | Bandwechsel auslösen |
GET | stellt den nächsten Satz bereit |
PUT | schreibt den nächsten Satz |
PUTX | (nur im Locate-Mode) ersetzt einen durch GET gelesenen Satz |
RELSE | schließt einen Datenblock ab |
SETL | positioniert auf Dateianfang, -ende oder auf einen Satz |
ISAM = Indexed Sequential Access Method
Grundlage der Verarbeitung ist eine aus Index- und Datenblöcken aufgebaute Datei. Jeder Datensatz enthält einen Schlüssel; die Schlüssel dienen als Sortierkriterium (zu Index- und Datenblock siehe Handbuch „Einführung in das DVS“ [1]).
Makro | Kurzbeschreibung |
ADDPLNK | weist einem Benutzer-ISAM-Pool einen Poolkettungsnamen zu |
CREAIX | erzeugt einen Sekundärindex für eine ISAM-Datei |
CREPOOL | richtet einen Benutzer-ISAM-Pool ein |
DELAIX | löscht Sekundärindizes einer ISAM-Datei |
DELPOOL | löscht einen Benutzer-ISAM-Pool |
ELIM | streicht einen Satz aus der Datei |
GET | liest sequenziell die Sätze der Datei. |
GETFL | bei Verwendung von markierten ISAM-Schlüsseln: liest den folgenden Satz innerhalb des Markierungsbereichs (sequenziell) |
GETKY | liest den ersten Satz mit dem angegebenen Schlüssel |
GETR | liest sequenziell die Sätze rückwärts |
INSRT | fügt einen Satz mit neuem ISAM-Schlüssel in die Datei ein |
ISREQ | hebt eine ISAM-Sperre auf |
OSTAT | informiert über Anzahl und Art gleichzeitiger Dateizugriffe |
PUT | schreibt sequenziell Sätze an das Dateiende (inklusive Prüfung der Schlüssel auf gültige Reihenfolge) |
PUTX | ersetzt einen zuvor gelesenen Satz |
REMPLNK | löscht den Poolkettungsnamen |
RETRY | setzt nach Durchlaufen des EXLST-PGLOCK-Ausgangs den ISAM-Zeiger neu und wiederholt den letzten Makroaufruf |
SETL | positioniert den ISAM-Zeiger für die weitere Verarbeitung auf Dateianfang, -ende oder einen bestimmten Satz |
SHOPLNK | informiert über die Zuordnung von ISAM-Pools zu Poolkettungsnamen |
SHOPOOL | informiert über Attribute und Belegungszustände von ISAM-Pools |
SHOWAIX | informiert über Sekundärindizes einer ISAM-Datei |
STORE |
|
UPAM = User Primary Access Method
UPAM ist eine blockorientierte Zugriffsmethode. Grundlage von UPAM ist der Standardblock (= PAM-Seite). Mit UPAM lassen sich auch Dateien verarbeiten, die nicht mit UPAM erstellt wurden.
Makro | Kurzbeschreibung |
PAM | steuert alle UPAM-Zugriffe |
Bei ereignisgesteuerter Verarbeitung sind zusätzlich folgende Makroaufrufe von Bedeutung (ausführliche Beschreibung siehe Handbuch „Makroaufrufe an den Ablaufteil“ [2]):
Makro | Kurzbeschreibung |
CHKEI | prüft die Warteschlangenbelegung einer Ereigniskennung |
CONTXT | greift auf den Registersatz des unterbrochenen Prozesses zu |
DISCO | schließt die Routine für den Contingency-Prozess |
DISEI | trennt des Benutzerprogramm von der Ereigniskennung |
ENACO | eröffnet eine Routine als Contingency-Prozess und weist ihr Namen und Priorität zu |
ENAEI | richtet Ereigniskennung ein und/oder stellt Verbindung her zwischen aufrufendem Prozess und Ereigniskennung |
FECB | Steuerblock für die Ereigniskennung (= File Event Control Block) |
LEVCO | ändert die Priorität des aufgerufenen Prozesses |
POSSIG | signalisiert ein Ereignis |
RETCO | beendet aufrufenden Contingency-Prozess |
SOLSIG | fordert Signal von der Ereigniskennung an |
SUSPEND | versetzt den aufrufenden Prozess in einen unterbrechbaren Wartezustand |