UPAM ist die primäre blockorientierte Zugriffsmethode im BS2000 für wahlfreien Zugriff auf Platten- und Banddateien. Zu jedem Zeitpunkt kann auf einen beliebigen Block der Datei lesend oder schreibend zugegriffen werden.
Mit der Zugriffsmethode UPAM können Dateien unterschiedlicher Blockformate verarbeitet werden (siehe Abschnitt „Blockformate für Plattendateien" und Abschnitt„Blockformate für Banddateien"):
K-PAM-Dateien (Key-PAM-Dateien) haben das Blockformat „PAMKEY“: Sie sind dadurch gekennzeichnet, dass für jede PAM-Seite DVS-Verwaltungsinformation in einem eigenen (außerhalb der Seite gelegenen) PAM-Schlüssel geführt wird.
NK-PAM-Dateien (Nonkey-PAM-Dateien) haben das Blockformat „DATA“ oder „NO“. Beim Blockformat „DATA“ wird die DVS-Verwaltungsinformation innerhalb des Datenblockes in einem Blockkontrollfeld hinterlegt. Beim Blockformat „NO“ werden keinerlei block-spezifische Verwaltungsinformationen hinterlegt.
Es gibt NK2-PAM-Dateien und NK4-PAM-Dateien. Näheres hierzu siehe Abschnitt„Blockformate für Plattendateien".
Mit dem Operanden BLKCTRL in den Makros FILE und FCB können Sie wählen, ob eine K- oder eine NK-Datei verarbeitet werden soll: BLKCTRL=PAMKEY vereinbart eine K-PAM-Datei, BLKCTRL=DATA oder BLKCTRL=NO legt eine NK-PAM-Datei fest.
Auf Kommandoebene kann mit dem Operanden BLOCK-CONTROL-INFO im Kommando ADD-FILE-LINK festgelegt weden, ob eine K- oder eine NK-Datei verarbeitet werden soll: BLOCK-CONTROL-INFO=*PAMKEY vereinbart eine K-PAM-Datei, BLOCK-CONTROL-INFO=*WITHIN-DATA-BLOCK oder BLOCK-CONTROL-INFO=*NO legt eine NK-PAM-Datei fest.
Auf einer NK2-Platte wird bei Angabe der Blockgröße mit BLKSIZE=(STD,n) bzw. BUFFER-LENGTH=*STD(SIZE=n), wobei n eine gerade Zahl ist, eine NK4-PAM-Datei angelegt; ist n eine ungerade Zahl wird eine NK2-PAM-Datei angelegt.
Auf einer NK4-Platte kann nur eine NK4-PAM-Datei liegen (siehe auch Abschnitt „Plattenformate").
Grundlage der Verarbeitung ist der Datenblock; Satzstrukturen werden nicht erkannt. Sowohl bei K-PAM-Dateien (Blockformat BLKCTRL=PAMKEY) als auch bei NK-PAM-Dateien (Blockformat BLKCTRL=DATA oder BLKCTRL=NO) besteht der Datenblock (logischer Block) aus einem oder mehreren 2048-Byte-Standardblöcken (Angabe BLKSIZE=(STD,n)).
Durch die Angabe BLKSIZE=(STD,n) (n > 1) im FCB- oder FILE-Makro bzw. durch BUFFER-LENGTH=*STD(SIZE=n) im Kommando ADD-FILE-LINK können mehrere 2048-Byte-Standardblöcke zu einem Datenblock (logischen Block) zusammengefasst werden.
PAM-Dateien vom Typ Node-File haben stets das Blockformat BLKCTRL=NO.
Bei einer K-PAM-Datei kann jeder Standardblock innerhalb des logischen Datenblockes im Programm angesprochen werden.
Bei einer NK-PAM-Datei kann nur der gesamte Datenblock (logischer Block) im Programm angesprochen werden; eine getrennte Verarbeitung der einzelnen 2048-Byte-Blöcke, aus denen er gebildet wurde, ist nicht möglich.