Im Unterschied zu den herkömmlichen K-SAM-Dateien besitzen NK-SAM-Dateien außerhalb der PAM-Seiten keine gesonderten PAM-Schlüssel. Je nachdem, welches Blockformat für eine NK-SAM-Datei vereinbart ist, werden block-spezifische Verwaltungsinformationen entweder in den Logischen Blöcken selbst abgelegt oder überhaupt nicht geführt:
Blockformat „DATA“
Dieses Blockformat wird bei Erstellung der Datei mit dem Operanden BLKCTRL=DATA im Makro FILE bzw. mit dem Operanden BLOCK-CONTROL-INFO=*WITHIN-DATA-BLOCK im Kommando ADD-FILE-LINK erzeugt. Die blockspezifische Verwaltungsinformation wird in einem Teil jedes logischen Blocks der Datei – dem 12 Byte langen so genannten Blockkontrollfeld (Control Field) – untergebracht. NK-SAM fügt diesem Blockkontrollfeld noch eine 4 Byte lange Information über die Länge der verwendbaren Daten im Puffer an.
In einer NK-SAM-Datei, bei der mit dem Operanden BLKSIZE=(STD,n) im FILE- oder FCB-Makro bzw. mit dem Operanden BUFFER-LENGTH=*STD(SIZE=n) im ADD-FILE-LINK-Kommando n (n <= 16) 2K-Blöcke (Standardblöcke) zu einem Logischen Block zusammengefügt wurden, ergibt sich demnach folgender Aufbau für einen solchen Logischen Block:
Dabei bedeutet:
CF | Blockkontrollfeld (Control Field), 12 Byte lang |
DL | Länge der verwendbaren Daten im Puffer, 4 Byte lang |
Das Blockkontrollfeld hat folgenden Aufbau:
Dabei bedeutet:
CFID | Coded File IDentification: Gleiche Bedeutung wie im PAM-Schlüssel (siehe Abschnitt „Logischer Block einer K-SAM-Datei"). |
LBN | Logical Block Number (Logische Blocknummer): Nummer des Standardblockes, der das Blockkontrollfeld enthält. (Standardblöcke werden innerhalb der Datei fortlaufend nummeriert). |
VN | Versionsnummer: Gleiche Bedeutung wie im PAM-Schlüssel. |
CFL | Control FLag: Das Control Flag kennzeichnet Lücken in einer Datei. Diese Information wird vor allem beim Kopieren einer Datei vom bzw. auf Band ausgewertet. |
res | Für künftige Erweiterungen reservierte Byte des Blockkontrollfeldes. |
Der vom 12 Byte langen Blockkontrollfeld und der sich anschließenden 4 Byte langen SAM-spezifischen Füllgradinformation beanspruchte Teil eines Logischen Blockes steht dem Benutzer nicht mehr für seine Daten zur Verfügung. Diesem Umstand muss er bei der Planung der Blockungsfaktoren und Satzlängen für ein NK-SAM-Datei Rechnung tragen.
Für die Länge des für Benutzerdaten maximal nutzbaren Teils eines Logischen Blockes aus n Standardblöcken (maximal zulässige Satzlänge) gilt demnach – unabhängig vom vereinbarten Satzformat – folgende Formel:
Nutzbare Blocklänge
|
| zulässige Satzlänge in der NK-SAM-Datei |
| Blockungsfaktor aus BLKSIZE = (STD,n), 1 <= n <= 16 |
Dateien des Blockformats „DATA“ sind bei Anwendung der Pufferverschiebung (Operand BUFOFF=16 im FCB und FILE-Makro bzw. Operand BLOCK-OFFSET=16 im Kommando ADD-FILE-LINK) datenaustauschfähig. Sie können in die Version 9.5 importiert werden.
Blockformat „NO“
Dieses Blockformat wird bei Erstellung der Datei mit dem Operanden BLKCTRL=NO im Makro FILE bzw. mit dem Operanden BLOCK-CONTROL-INFO=*NO im Kommando ADD-FILE-LINK erzeugt. Dieses Blockformat wird bei SAM nur für Banddateien unterstützt. Es werden keine block-spezifischen Verwaltungsinformationen angelegt. Dem Benutzer steht der gesamte Logische Block für Nutzdaten zur Verfügung.
Eine Banddatei, die von anderen Systemen mit block-spezifischen Verwaltungsinformationen erstellt worden ist, kann mit einer geeigneten Pufferverschiebung (Operanden BUFOFF / BLKCTRL=NO in den Makros FCB und FILE bzw. den Operanden BLOCK-OFF-SET / BLOCK-CONTROL-INFO=*NO im Kommando ADD-FILE-LINK) importiert werden.