Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

SAM-Blockstruktur im BS2000

Im BS2000 werden SAM-Dateien mit der satzorientierte Zugriffsmethode SAM sequentiell verarbeitet. Im Kontext von Net-Storage und Node-Files ist nur die SAM-Verarbeitung auf Platte relevant, d.h. Besonderheiten der Bandverarbeitung spielen in diesem Kontext keine Rolle. Als SAM-Node-Files auf Net-Storage werden nur NK-SAM-Dateien im Format BLKCTRL=DATA und mit variablem Satzformat (RECFORM=V) unterstützt.

Bei NK-SAM-Dateien mit diesen Dateiattributen erstellt die Zugriffsmethode SAM Datenblöcke mit folgender Struktur:

  • Der logische Block, der aus n PAM-Pages (oder logischen Halbseiten LHP, (STD,n) mit n = 1..16) besteht, beginnt mit einem 12 Byte langen BLKCTRL-Feld und einem 4 Byte langen Datenlängenfeld. Das Datenlängenfeld gibt die Länge der Nutzdaten im logischen Block an.
  • Darauf folgen die SAM-Datensätze, die jeweils aus Satzlängenfeld und Daten bestehen. Die Daten hinter den Nutzdaten bis zum Ende des logischen Blocks sind undefiniert. Beim sequentiellen Schreiben der Datei wird ein logischer Block satzweise gefüllt (Makro PUT), bis ein Satz nicht mehr in den aktuellen Block passt. Dieser Satz wird dann in den nächsten logischen Block geschrieben.

  • Eine Anwendung kann aber auch den Datenblock früher „abschließen“ bevor er voll ist und einen neuen Datenblock beginnen (Makro RELSE).

Beim Lesen solcher NK-SAM-Dateien erwartet die Zugriffsmethode SAM die Datenblöcke ebenfalls in dieser Struktur. Für das Lesen der Datenblöcke gilt:

  • Sequentielles Lesen erfolgt mit GET. Den aktuellen Block schließen und den nächsten Block einlesen erfolgt mit RELSE und anschließendem GET.

  • Innerhalb der Datei kann mit SETL auf einen bestimmten Block und Satz positioniert werden.

Details zur Zugriffsmethode siehe Kapitel „SAM - Sequential Access Method" (SAM - Sequential Access Method).