SMPGEN legt während der Abarbeitung der Anweisungen verschiedene Arbeitsdateien (WORK-Dateien) an, die normalerweise nur während des SMPGEN-Laufs existieren.
Bei Systemabbruch oder Recovery-Fehlern können solche Dateien natürlich über den SMPGEN-Lauf hinaus existieren. Sie sind an den Präfixen SYSWRK.SMPGEN bzw. S.SMPGEN zu erkennen. Die Dateien SYSWRK.SMPGEN... und müssen vor einem neuen SMPGEN-Lauf durch den Systembetreuer gelöscht werden.
Besonderheiten beim Erzeugen oder Erweitern von SM-Pubsets
SMPGEN versucht, so früh wie möglich Gründe, die die Bildung eines SM-Pubsets unmöglich machen, durch einen Konsistenz-Check auszuschließen. Auch nach erfolgreichem Check werden zunächst keine Pubset-Strukturen geändert, sondern nur neue Verwaltungsdateien aufgebaut.
Bei einer Erweiterung werden die alten Verwaltungsdaten des SM-Pubsets durch Kopieren gesichert. Während der Konvertierung bleiben die abgelösten Verwaltungsdateien ebenfalls weitgehend erhalten, sodass SMPGEN im Falle eines Scheiterns der Konvertierung oder auch eines Taskabbruchs die alte Umgebung wiederherstellen kann. Die beteiligten SF-Pubsets sind dann wieder in ihrem alten Zustand.
Lediglich die SYSPBN- und die EAM-Dateien können gelöscht sein.
Nur in der letzten Phase (nachdem bereits alle Prüfungen und Plattenspeicher-Anforderungen erfolgreich waren) ist eine Rückkehr zum alten Zustand der SF-Pubsets nicht mehr möglich. Bei einem nichtbehebbaren Fehler in dieser Phase, sind - wie bei einem Systemabbruch in der mittleren Phase der Konvertierung - die SF-Pubsets nicht mehr importierbar; sie müssen aus einer vorhergehenden FDDRL-Sicherung rekonstruiert werden.
Während der kritischen Umwandlungsphase sind die Pubsets bzw. Volume-Sets als nichtimportierbar gekennzeichnet.
Ist im Anschluss an einen Systemabbruch ein Import möglich, entweder als SF- oder als SM-Pubset, so kann davon ausgegangen werden, dass alle relevanten Informationen erhalten sind und ein konsistenter Plattenzustand erreicht ist.
Ist im Anschluss an einen Systemabbruch während einer SM-Pubset-Erweiterung ein Import als SM-Pubset möglich, so kann davon ausgegangen werden, dass ein konsistenter Plattenzustand erreicht ist. Jedoch hat der SM-Pubset abhängig vom Zeitpunkt des Systemabbruchs entweder seinen Ausgangszustand oder den korrekt um SF-Pubsets erweiterten Zustand.
Falls - bei gescheitertem Konvertierungsversuch - die Pubsets zu SF-Pubsets rückkonvertiert wurden und dabei die Wiederherstellung der alten GUARDS-Umgebung nicht gelang, so werden die Pubsets dennoch als importierbar gekennzeichnet. Nach dem Import als SF-Pubsets sind dann mit Guards geschützte Objekte zunächst nicht ansprechbar. Die alte GUARDS-Umgebung kann durch den Systembetreuer jedoch selbst wiederhergestellt werden, indem er mit /CHANGE-GUARD-FILE
die von SMPGEN umbenannten Guards-Kataloge zuweist. Er findet sie unter dem Namen SYSWRK.SMPGEN.SYSCAT.GUARDS.<pubsetid>
.
Die neuen bzw. erweiterten CMS-Verwaltungsdateien werden bei Rückkonvertierung zu SF-Pubsets gelöscht bzw. auf den Ausgangszustand gebracht.
Können sie bei der Rückkonvertierung aus irgendeinem Grund nicht gelöscht werden, so ist dies kein Hindernis für einen erneuten SMPGEN-Lauf:
Soll wieder derselbe Volume-Set zum Control-Volume-Set gemacht werden, so werden ggf. die darauf noch existierenden neuen CMS-Verwaltungsdateien wieder verwendet. Soll ein anderer Pubset Control-Volume-Set werden, so löscht das CMS implizit die auf dem „einfachen“ Volume-Set befindlichen, vom vorherigen SMPGEN-Lauf übrig gebliebenen CMS-Verwaltungsdateien.
Beim Exportieren der Pubsets kann - bei Einsatz von GUARDS - folgende Meldung für jedes betroffene Pubset ausgegeben werden:
PRO6009 ERROR WHEN CLOSING GUARDS CATALOG
Diese Meldung kann ignoriert werden.
Besonderheiten bei SMPGEN-Anweisungen, bei denen alle betroffenen Pubsets durch SMPGEN selbst importiert werden
(z.B. CREATE-SYSTEM-MANAGED-PUBSET mit OPERATIONAL-MODE=*OPERATION oder mit OPERATIONAL-MODE=*CHECK-NAME-CONSISTENCY(PUBSET-STATE= *NOT-IMPORTED))
Bei fehlerhaftem Abbruch, auch abnormaler Programm-/Taskterminierung, werden die MRSCAT-Einträge bereinigt. Nur wenn auch die Recovery-Routine abbricht, bleiben die MRSCAT-Einträge im Zustand „inaccessible/in SMPGEN-Bearbeitung/nicht löschbar“. Die MRSCAT-Einträge sind dann nicht löschbar, sodass die Pubsets in diesem Systemlauf nicht mehr importiert werden können und kein zweites Starten des SMPGEN-Laufs möglich ist.
STEP-Terminierung
Wird eine syntaktisch oder semantisch falsche SMPGEN-Anweisung eingegeben oder kann die Anweisung nicht vollständig bearbeitet werden, dann wird zur nächsten STEP-Anweisung verzweigt, falls der Fehler innerhalb des Programmlaufs und nicht in der asynchron erzeugten Task auftritt.
Tritt ein Fehler auf, der die Ablauffähigkeit des Programms überhaupt infrage stellt (z.B. keine Informationsausgabe möglich, Dateiende auf SYSDTA), so beendet sich das Programm mit Step-Terminierung, d.h. innerhalb einer Prozedur werden alle Anweisungen und Kommandos bis zum nächsten /SET-JOB-STEP
oder /EXIT-JOB
übersprungen.