Die Bestimmung des Dateiformats (K, NK2, NK4) ist bei SM-Pubsets komplexer als bei SF-Pubsets. Bei der Erstallokierung wird für eine optimale Ablageortbestimmung vom System ein Präformat für die Datei bestimmt und im Katalogeintrag abgelegt. Das tatsächliche Dateiformat wird erst beim Eröffnen der Datei aus dem Präformat, dem tatsächlichen Ablageort und den OPEN-Parametern festgelegt (siehe Abschnitt „Bestimmung des Dateiformats").
Wie bereits im Abschnitt „Direktattributierung" erwähnt, ist es jedoch ratsam, das gewünschte Dateiformat bereits bei der Erstallokierung von Speicherplatz dem System mitzuteilen. Welche Möglichkeiten es hierfür gibt und welche Defaultierungsmechanismen vom System bestehen, soll dieser Abschnitt zeigen.
Es gibt zwei globale Defaultierungsmechanismen, die vom System angeboten werden:
das Pubset-Default-Format
die benutzer-spezifische Default-Storage-Klasse
Pubset-Default-Format
In Analogie zum SF-Pubset, bei dem das Pubset-Format implizit durch das Format seiner Platten vorgegeben ist, wird für SM-Pubsets ein Default-Format (durch den Systembetreuer bei der Pubset-Generierung) festgelegt. Dieses Default-Format kann sich im Laufe einer Pubset-Session ändern, wenn dies durch Rekonfigurationsmaßnahmen seitens des Systembetreuers notwendig wird.
Über das Pubset-Default-Format informieren die Kommandos SHOW-PUBSET-DEFINITION-FILE und SHOW-PUBSET-FILE-SERVICES PUBSET=..., FILE-FORMAT=*BY-PUBSET-DEFAULT bzw. der Makro STAM.
Benutzer-spezifische Default-Storage-Klasse
Der Systembetreuer hat die Möglichkeit, für jeden Benutzer auf jedem SM-Pubset eine Default-Storage-Klasse festzulegen. Der in dieser Storage-Klasse eingetragene Wert des FILE-PREFORMAT (oder der daraus resultierende Wert bei *BY-PUBSET-DEFAULT) wird in bestimmten Fällen (siehe unten) in den Katalogeintrag der Datei übernommen.
Über das Vorhandensein einer benutzer-spezifischen Default-Storage-Klasse informiert das Kommando SHOW-USER-ATTRIBUTES PUBSET=...,INFORMATION=*PUBSET-ATTRIBUTES. Auskunft über den Inhalt der Storage-Klasse gibt das Kommando SHOW-STORAGE-CLASS.
Vollständige Direktattributierung
Sie liegt vor, wenn der Benutzer eine Attributierung vornimmt, aus der sich direkt ein eindeutiges Präformat ableiten lässt. Dies ist in folgenden Fällen gegeben:
angegebene Attribute
resultierendes
FILE-PREFORMATFILE-PREFORMAT=K
K
FILE-PREFORMAT=NK2
NK2
FILE-PREFORMAT=NK4
NK4
BLKCTRL=PAMKEY
K
BLKCTRL=DATA2K
NK2
BLKCTRL=DATA4K
NK4
BLKCTRL=DATA / NO und BLKSIZE=(STD,n) (n = ungerade)
NK2
BLKCTRL=DATA / NO und BLKSIZE=(STD,n) (n = gerade)
NK4
Defaultierungen
Falls keine vollständige Direktattributierung vorliegt, wird die Bestimmung des Präformats über unterschiedliche Defaultierungen vorgenommen. Die Reihenfolge der verschiedenen Mechanismen ist in folgender Tabelle wiedergegeben:
Benutzerangaben
resultierendes FILE-PREFORMAT
1.
physikalische Allokierung
gemäß Volume-Set-Eigenschaft 1) 2.
Angabe einer Storage-Klasse mit FILE-PREFORMAT ungleich *BY-PUBSET-DEFAULT
gemäß Präformat in der angegebenen Storage-Klasse 1) 3.
keine Storage-Klassen-relevanten Attribute 2) angegeben und eine Default-Storage-Klasse mit FILE-PREFORMAT ungleich *BY-PUBSET-DEFAULT
gemäß Präformat in der Default-Storage-Klasse 1)
4.
sonst
gemäß Pubset-Default-Format 1)
1)
Falls sich das Präformat als K ergibt und als BLKCTRL-Wert *DATA oder *NO angegeben ist, wird NK2 statt K eingestellt. 2)
Eine Storage-Klassen-relevante Attributangabe liegt in folgenden Fällen vor:
Kommandoschnittstelle (CREATE-FILE/MODIFY-FILE-ATTRIBUTES): wenn für STORAGE-CLASS der Wert *NONE oder einer der Operanden AVAILABILITY, DEVICE-TYPE, DISK-WRITE, VOLUME, VOLUME-SET, WORK-FILE, PERFORMANCE oder USAGE angegeben ist
Makroschnittstelle (FILE): wenn für einen der Operanden IOPERF oder IOUSAGE ein Wert ungleich dem NULL-Operanden oder für STOCLAS der Wert *NONE oder einer der Operanden AVAIL, DEVICE, DISKWR, VOLUME, VOLSET oder WORKFIL angegeben ist