Dynamischen Subsystemkatalog erweitern
Komponente: | DSSM |
Funktionsbereich: | Subsysteme verwalten |
Anwendungsbereich: | SYSTEM-MANAGEMENT |
Privilegierung: | SUBSYSTEM-MANAGEMENT |
Funktionsbeschreibung
Die Systembetreuung kann mit diesem Kommando im laufenden System die aktuelle Subsystemkonfiguration erweitern (Maximalanzahl: 1000 Subsysteme und 16000 CALL-Entries). Es kann entweder ein neuer Katalog angegeben werden, der auch alle Einträge seines Vorgängers enthält, oder ein Katalog, der lediglich neue Subsysteme aufweist, die dem aktuellen Katalog hinzugefügt werden sollen.
Der anzugebende Subsystemkatalog muss in jedem Fall mit SSCM erstellt worden sein. Der bei der Systemeinleitung verwendete („alte“) Subsystemkatalog wird nicht automatisch aktualisiert. Für den nächsten Systemlauf kann die Systembetreuung
den für ADD-SUBSYSTEM erstellten Katalog während der Systemeinleitung verwenden
einen komplett neu erstellten und aktualisierten Subsystemkatalog generieren und für die Systemeinleitung verwenden. Dieser neue Katalog muss weder quantitativ auf den evtl. veralteten Vorgängerkatalog aufbauen noch qualitativ dessen Bezüge und Merkmale unterstützen.
Das Kommando ADD-SUBSYSTEM wird abgewiesen, wenn der für das Subsystem reservierte Klasse-5-Speicher nicht ausreicht (DSSM reserviert bei der Systemeinleitung für Subsysteme, die mit MEMORY-CLASS=*LOCAL-PRIVILEGED, *LOCAL-UNPRIVILEGED oder *BY-SLICE definiert sind, Klasse-5-Speicher).
Format
ADD-SUBSYSTEM |
CATALOG = <filename 1..54 without-gen-vers> ,TYPE = *EXTENDED-ACTIVE-CONFIGURATION / *NEW-SUBSYSTEMS |
Operandenbeschreibung
CATALOG = <filename 1..54 without-gen-vers>
Name des neuen Subsystemkataloges.
TYPE =
Legt fest, ob der aktuelle Katalog erweitert oder ersetzt werden soll.
TYPE = *EXTENDED-ACTIVE-CONFIGURATION
Es soll ein komplett neuer Katalog aktiviert werden, der nicht nur die Einträge seines Vorgängers, sondern auch die neuen Subsysteme enthält.
TYPE = *NEW-SUBSYSTEMS
Der angegebene Katalog enthält lediglich neue Subsysteme, die zum alten Katalog hinzugefügt werden sollen.
Der Katalog wird von DSSM daraufhin geprüft, ob die darin enthaltenen Subsysteme für die Konfiguration wirklich neu sind. Wird ein auch im zu erweiternden Katalog geführtes Subsystem gefunden, wird das Kommando abgewiesen.
Einschränkungen
Die bei Generierung mit SSCM mit RELATED-SUBSYSTEM und REFERENCED-SUBSYSTEM angegebenen Subsysteme müssen zyklenfrei sein, d.h. frei von gegenseitiger Abhängigkeit.
Unzulässig ist die Definition verschiedener Versionen eines Subsystems mit den Start-Attributen AT-SUBSYSTEM-CALL, BEFORE-SYSTEM-READY, AFTER-SYSTEM-READY, BEFORE-DSSM-LOAD, AT-DSSM-LOAD und MANDATORY-AT-STARTUP (Ausnahme: AT-SUBSYSTEM-CALL ist dann zulässig, wenn für alle beteiligten Versionen Koexistenz vereinbart wird).
Kommando-Returncode
(SC2) | SC1 | Maincode | Bedeutung |
---|---|---|---|
0 | CMD0001 | Ohne Fehler | |
32 | ESM0296 | Abnormale Beendigung (REQM-Fehler) | |
32 | ESM0350 | Internes DSSM-Problem während der Verarbeitung | |
64 | ESM0260 | Datei nicht gefunden | |
64 | ESM0262 | Datei ist kein Katalog | |
64 | ESM0325 | Inkonsistenz mit altem Katalog | |
64 | ESM0332 | Katalog-Version nicht kompatibel | |
64 | ESM0261 | Speicherplatzgrenze im DSSM-Katalog erreicht | |
64 | ESM0322 | Maximale Anzahl der Beziehungen überschritten | |
64 | ESM0340 | Nicht genügend reservierter Adressraum vorhanden für Subsysteme mit MEMORY-CLASS=*BY-SLICE |
Hinweise
Es kann Beziehungen zwischen Subsystemen geben, die nicht im aktuellen Katalog definiert sind (SSCM-Anweisung SAVE-CATALOG mit dem Operanden FORCED=*FOR-ADD-SUBSYSTEM). Dieses Problem kann dadurch umgangen werden, dass diese Subsysteme in einem neuen Katalog definiert und zum alten Katalog mit /ADD-SUBSYSTEM hinzugefügt werden.
Beispiel für TYPE=*EXTENDED-ACTIVE-CONFIGURATION
Alter Katalog | Neuer Katalog | |
| ===> |
|
Einschränkungen für den Operanden TYPE=*EXTENDED-ACTIVE-CONFIGURATION
Subsysteme mit dem Attribut MEMORY-CLASS=*LOCAL-PRIVILEGED, die im neu erstellten Katalog hinzukommen, dürfen weder die Größe des Adressraum-Streifens im System- oder Benutzeradressraum überschreiten, noch darf sich ihre Lage im Adressraum mit der des alten Kataloges überschneiden.
Der Operand CREATION-TIME für neue Subsysteme muss für bereits im alten Katalog definierte Versionen dieses Subsystems kompatibel gewählt werden.
Die Werte BEFORE-SYSTEM-READY, AFTER-SYSTEM-READY, BEFORE-DSSM-LOAD, AT-DSSM-LOAD und MANDATORY-AT-STARTUP sind dabei zwar zulässig, aber stets ohne Wirkung, da der Startzeitpunkt im laufenden System bereits überschritten ist; d.h. die Systembetreuung erhält eine entsprechende Warnung, das Subsystem wird aber nicht geladen.Bei der Aufteilung von Subsystemen auf Holdertasks (Anweisung ASSIGN-HOLDER-TASK) muss das „Stand-alone-Prinzip“ gewahrt bleiben, d.h. Subsysteme von verschiedenen Katalogen dürfen nicht einer Holdertask zugeteilt werden.
Beispiel
Subsysteme im alten Katalog:
Subsysteme im neuen Katalog:A, B, C
A, B, C, D, EEs gilt:
//ASSIGN-HOLDER-TASK *SHARE-HOLDER(BY-SUB=(A,B))
//ASSIGN-HOLDER-TASK *SHARE-HOLDER(BY-SUB=(D,E))
ist zulässig
ist zulässig
aber:
//ASSIGN-HOLDER-TASK *SHARE-HOLDER(BY-SUB=(A,D,C))
ist nicht zulässig
Der neue Katalog muss größer sein als der Vorgänger, da er nicht nur die alten Subsysteme mit deren Attributen enthält (Beziehungen, Abhängigkeiten und Ladevorgaben), sondern auch die neuen Subsysteme führen muss.
Binde- und Abhängigkeitsbeziehungen (REFERENCED-/RELATED-SUBSYSTEM) dürfen die Kataloggrenze nicht überschreiten: es dürfen im Katalog A keine Beziehungen eines dort definierten Subsystems zu einem Subsystem hinterlegt sein, das im Katalog B definiert ist.
Sobald mit REMOVE-SUBSYSTEM ein Subsystem aus dem Katalog gelöscht wurde, kann TYPE=*EXTENDED-ACTIVE-CONFIGURATION nicht mehr angegeben werden.
Nicht zulässig ist die Definition verschiedener
Subsysteme mit der identischen Attribut-Kombination:
SVC-NUMBER / FUNCTION-NUMBER / FUNCTION-VERSION.Subsysteme mit der identischen Attribut-Kombination:
FUNCTION-NUMBER / FUNCTION-VERSION (falls die Werte für VERSION-COEXISTENCE bzw. VERSION-EXCHANGE auf *ALLOWED gesetzt sind) bei Subsystemen mit indirekter Verbindung über System Procedure Linkage (ISL).Versionen eines Subsystems mit der identischen Attribut-Kombination: SVC-NUMBER / FUNCTION-NUMBER / FUNCTION-VERSION, falls die Werte für VERSION-COEXISTENCE bzw. VERSION-EXCHANGE auf *ALLOWED gesetzt sind.
Versionen eines Subsystems mit der identischen Attribut-Kombination: FUNCTION-NUMBER / FUNCTION-VERSION / VERSION-COEXISTENCE bzw. VERSION-EXCHANGE bei Subsystemen mit indirekter Verbindung über System Procedure Linkage (ISL).
Eine Überlappung von Subsystemen muss vermieden werden. DSSM vergleicht dahingehend die Werte für die Operanden SIZE und START-ADDRESS in der Anweisung SET-SUBSYSTEM-ATTRIBUTES.
Die Zuweisung einer Holdertask (durch SSCM-Anweisung) für ein altes und ein neues Subsystem hat keine Auswirkung auf die Aufteilung der Holdertasks.
Tabelle von Unverträglichkeiten bei Beziehungen zwischen Subsystemen im alten und neuen Katalog:
x: | diese Kombination ist nicht möglich: sowohl Bindebeziehungen (REFERENCED-SUBSYSTEM) als auch andere Abhängigkeitsbeziehungen (RELATED-SUBSYSTEM) sind nicht erlaubt |
r: | Bindebeziehungen (REFERENCED-SUBSYSTEM) sind nicht erlaubt |
Subsystem im neuen Katalog | Subsystem im alten Katalog | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MAS | BSR | ASR | ACR1) | ASC1) | BDL | ADL | STY1) | SAL1) | SAH1) | MCP1) | MCU1) | MCS | |
MAS: | x | x | x | x | |||||||||
BSR: | x | x | x | ||||||||||
ASR: | x | x | |||||||||||
BDL: | x | x | x | x | x | x | |||||||
ADL: | x | x | x | x | x | ||||||||
STN: | r | ||||||||||||
SAS: | x | x | x | ||||||||||
MCG: | x | x | |||||||||||
MCS: | r | r | r |
Tabelle 24: Unverträglichkeiten bei Beziehungen zwischen Subsystemen im alten und neuen Katalog
1) | ACR: AT-CREATION-REQUEST | SAH: SUBSYSTEM-ACCESS=*HIGH |