Eine PAM-Datei kann mit den folgenden Zugriffsmethoden erstellt bzw. bearbeitet werden:
DIV
UPAM (siehe Kapitel „UPAM - User Primary Access Method" (UPAM - User Primary Access Method))
FASTPAM (siehe Kapitel „FASTPAM - Fast Primary Access Method" (FASTPAM - Fast Primary Access Method))
FASTPAM und DIV können jedoch nur UPAM-Dateien mit der Eigenschaft BLKCTRL=NO bearbeiten.
Die Erlaubnis für eine parallele Dateibearbeitung ist von den bei der Eröffnung angegebenen Operandenwerten für SHARUPD, MODE, LOCKENV und LOCVIEW abhängig.
Möglichkeiten der parallelen Eröffnung
USER B | ||||||||||||
SHARUPD= | *YES | *NO | *WEAK | |||||||||
OPEN-Modus | I | I | O | I | I | O | I | L | I | O | ||
U A | *YES | INPUT | X | O | X | X | X | |||||
*NO | INPUT | X | X | X | X | |||||||
*WEAK | INPUT | X | X | X | X | X | X | X |
LMAP: | INPUT LOCVIEW=MAP (gibt es nur bei DIV) |
X: | OPEN erlaubt |
O: | OPEN nur erlaubt,
|
Hinweise
Leseoperationen mit SHARUPD=*WEAK können eine Datei gleichzeitig mit jeder beliebigen Schreiboperation eröffnet haben.
Den Leseoperationen mit DIV-SHARUPD=*WEAK, die bei OPEN LOCVIEW=*MAP spezifiziert haben, werden bereits bei MAP alle Fensterseiten aus der Datei in das Fenster eingelesen, wobei von DIV sichergestellt wird, dass während des Einlesens keine Dateiseiten durch einen parallelen SAVE einer Schreiberoperation mit DIV-SHARUPD=*WEAK verändert werden können.
Bei einer UPAM/FASTPAM-Schreiboperation existiert dieser Schutz gegen paralleles Schreiben nicht.Aus diesem Grund sind Leseoperationen mit DIV-SHARUPD=*WEAK, für die LOCVIEW=*MAP spezifiziert wurde, nur mit Schreiboperationen mit DIV-SHARUPD=*WEAK verträglich, nicht jedoch mit anderen Schreiboperationen.
Auch die übrigen oben für den Eintrag 'O' formulierten Bedingungen müssen erfüllt sein (alle Eröffner mit gleichen Werten für den LOCKENV-Operanden und alle Eröffner im gleichen Host oder – wenn in verschiedenen Hosts – mit der Angabe LOCKENV=*XCS).
Leseoperationen mit DIV-SHARUPD=*WEAK, die bei OPEN LOCVIEW=*NONE spezifiziert haben, besitzen dieselbe Verträglichkeit wie Leseoperationen mit UPAM/FASTPAM-SHARUPD=*WEAK.
Eröffner mit DIV-SHARUPD=*YES sind nicht mit Eröffnern mit
UPAM/FASTPAM-SHARUPD=*YES verträglich.Leseoperationen sind immer miteinander verträglich (unabhängig von Zugriffsmethode, SHARUPD-Spezifikation, LOCKENV-Spezifikation und Host).
Bei Zugriffen auf Dateien im Modus SHARUPD=YES kann der Fall eintreten, dass eine Datei mit einer Dateigröße < 32 GB durch entsprechende Verarbeitung zu einer Datei >= 32 GB wird.
Hier werden zwei Fälle unterschieden:
Aufrufer, die auf diese Situation vorbereitet sind
(mit der Angabe LARGE_FILE=*ALLOWED beim Makro FCB bzw.
EXCEED-32GB=*ALLOWED beim Kommando ADD-FILE-LINK)nicht vorbereitete Aufrufer
(Angabe LARGE_FILE=*FORBIDDEN beim Makro FCB bzw.
EXCEED-32GB=*FORBIDDEN beim Kommando ADD-FILE-LINK).
Es wird nach jedem Aufruf des Allocators die Größe der betroffenen Datei überprüft. Wenn bei dieser Überprüfung eine Dateigröße >= 32 GB ermittelt wird und im zugehörigen FCB das Attribut LARGE_FILE=*FORBIDDEN gesetzt ist, wird die Verarbeitung abgebrochen und ein entsprechender Returncode in der eigenen Parameterliste DIV(I) bzw. eine DMS-Meldung ausgegeben.