Bevor eine Datei verarbeitet werden kann, muss sie mit einem OPEN-Makroaufruf eröffnet werden. Für ISAM-Dateien sind folgende Eröffnungsmodi zulässig: OUTPUT, OUTIN, EXTEND, INOUT, INPUT. Gleichzeitig muss überprüft werden, ob die Datei bereits von einem anderen Auftrag geöffnet ist, in welchem ISAM-Pool sie verarbeitet werden soll, ob sie im Übertragungs- oder im Ortungsbetrieb zu verarbeiten ist, usw. In der folgenden Tabelle sind die OPEN-Modi zusammengestellt.
Open-Modus | Kurzbeschreibung |
---|---|
OUTPUT | Es wird eine neue Datei sequenziell erstellt, es ist nur der PUT-Makroaufruf erlaubt. |
OUTIN | Wie bei OPEN OUTPUT wird eine neue Datei erstellt, eine evtl. vorher bestehende Datei wird überschrieben. Es sind alle ISAM-Aktionen zulässig. |
EXTEND | Eine bestehende Datei wird sequenziell erweitert; wie bei OUTPUT sind nur Schreiboperationen mit PUT zulässig. |
INOUT | Eine existierende Datei soll aktualisiert werden: wie bei OUTIN sind alle ISAM-Aktionenerlaubt wie Suchen, Lesen, Ändern, Einfügen und Löschen von Sätzen. |
INPUT | Eine existierende Datei soll gelesen werden, d.h. es sind nur Leseoperationen zulässig. |
Dateisperre
Wird eine Datei nicht für Shared-Update-Verarbeitung geöffnet, hängt es vom OPEN-Modus ab, ob verschiedene Aufträge gleichzeitig mit der Datei arbeiten können. Wird eine Datei anders als INPUT eröffnet, ist sie für weitere Aufträge gesperrt; wird sie mit INPUT eröffnet, können andere Aufträge sie ebenfalls mit OPEN INPUT eröffnen.
Speicherplatzzuweisung
Die minimale Speicherplatzzuweisung muss berücksichtigen, dass außer dem Datenblock immer ein Indexblock entsteht, bei NK-ISAM noch zusätzlich der Kontrollblock. Das heißt: für BLKSIZE=(STD,n) muss die Primärzuweisung für NK-ISAM-Dateien mindestens n+2 PAM-Seiten betragen, für K-ISAM-Dateien n+1 PAM-Seiten. Da beim OPEN keine Sekundärzuweisung durchgeführt werden kann, kommt es zum OPEN-Fehler, wenn nicht ausreichend Speicherplatz zur Verfügung steht (zu Primärzuweisung siehe Abschnitt „Anfordern von Speicherplatz").
Betriebsarten
ISAM-Dateien werden normalerweise im Übertragungsbetrieb verarbeitet; Dateiverarbeitung im Ortungsbetrieb ist möglich, wird bei NK-ISAM allerdings nur noch aus Kompatibilitätsgründen unterstützt.
Aktionsmakro-Aufruf | OPEN-Typ | ||||
---|---|---|---|---|---|
INPUT | OUTPUT | EXTEND | INOUT | OUTIN | |
GET | B | - | - | B | B |
GETR | B | - | - | B | B |
GETFL | B | - | - | B | B |
GETKY | B | - | - | B | B |
PUT | - | B | B | B | B |
PUTX | - | - | - | B | B |
INSRT | - | - | - | M | M |
STORE | - | - | - | M | M |
ELIM | - | - | - | x | x |
SETL | x | - | - | x | x |
B: | Übertragungs- oder Ortungsbetrieb möglich |
M: | Übertragungsbetrieb (Ortungsbetrieb, nur wenn der Arbeitsbereich versorgt wurde) |
x: | Aktionsmakroaufruf zulässig |
- | Aktionsmakroaufruf nicht zulässig |