Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Austausch von Subsystemversionen

Der Austausch von Versionen eines Subsystems ist auf folgende drei Arten möglich:

  1. Die alte Version wird deaktiviert (STOP-SUBSYSTEM) und die neue Version des Subsystems aktiviert (START-SUBSYSTEM). Es kann u.U. zu sehr langen Ausfallzeiten des Subsystems kommen, weil die neue Version erst dann aktiviert wird, wenn die alte vollständig deaktiviert ist, d.h. alle Tasks die Verbindung abgebaut haben.

  2. Die neue Version des Subsystems wird mit START-SUBSYSTEM ...,VERSION-PARALLE-LISM=*EXCHANGE-MODE aktiviert. Ab diesem Zeitpunkt werden keine neuen Verbindungen zur alten Version des Subsystems mehr hergestellt. Während die letzten Tasks die Verbindung zur alten Version des Subsystems abbauen, wird die neue Version initialisiert. Dieses Verfahren verkürzt den Zeitraum der Nichtverfügbarkeit des Subsystems erheblich.
    Es werden nacheinander folgende Routinen aufgerufen, sofern sie definiert sind:

    • STOPCOM-Routine der alten Version

    • INIT-Routine der neuen Version

    • DEINIT-Routine der alten Version

    Für manche Subsysteme ist es problematisch, dass die DEINIT-Routine der alten Version läuft, während die neue Version bereits aktiviert ist und arbeitet. Ein Subsystem, das mit VERSION-EXCHANGE=*FORBIDDEN definiert wurde, kann nicht als neue Version eingetauscht werden. Es kann jedoch (als alte Version) im Austausch gegen eine neue Version, die mit VERSION-EXCHANGE=*ALLOWED definiert ist, deaktiviert werden.

    Die alte Version ist so lange im Zustand IN-DELETE, bis keine Task mehr Anschluss hat. Ist die neue Version im Zustand CREATED, ist die Aktivierung des alten Subsystems mit RESET=*YES nur dann möglich, wenn für beide Versionen bei der Definition Koexistenz zugelassen wurde.

    Die Aktivierung der alten Version mit RESET=*YES ist dann erlaubt, wenn die neue Version im Zustand IN-DELETE ist, und die alte Version nicht mit VERSION-EXCHANGE=*FORBIDDEN definiert wurde.

  3. Bei Verwendung der CLOSE-CTRL-Routine ist ein Versionsaustausch auch ohne Unterbrechung der Subsystemverfügbarkeit möglich.
    Es werden nacheinander folgende Routinen aufgerufen, sofern sie definiert sind:

    • CLOSE-CTRL-Routine der alten Version

    • INIT-Routine der neuen Version

    • STOPCOM-Routine der alten Version

    • DEINIT-Routine der alten Version

    Läuft die Initialisierungsroutine der neuen Version nicht fehlerfrei, wird die alte Version wieder automatisch aktiviert und ist im Zustand CREATED (das Ergebnis der CLOSE-CTRL-Routine ist reversibel). So wird eine Unterbrechung der Subsystemverfügbarkeit vermieden.

    Der Versionsaustausch ist erlaubt, wenn eine Version des Subsystems im Zustand CREATED ist und alle anderen im Katalog deklarierten Versionen des Subsystems im Zustand NOT-CREATED oder LOCKED sind.
    Ein Versionsaustausch wird nicht ausgeführt, wenn alle deklarierten Versionen des Subsystems im Zustand NOT-CREATED oder LOCKED sind. In diesem Fall wird die Version aktiviert, die im START-SUBSYSTEM-Kommando angegeben wurde.


    Beispiel

    Die Subsystemversionen SPOOL V04.2.A und V04.3.A sind mit VERSION-EXCHANGE=*ALLOWED definiert.


    /SHOW-SUBSYSTEM-STATUS SPOOL,*ALL 
    SUBSYSTEM SPOOL    /V04.2.A IS NOT CREATED 
    SUBSYSTEM SPOOL    /V04.3.A IS NOT CREATED 
    /START-SUBSYSTEM SPOOL,04.2.A,VERSION-PARAL=*EXCHANGE-MODE,SYNCH=*YES 
    ESM0220  FUNCTION 'CREATE' FOR SUBSYSTEM 'SPOOL /V04.3.A' COMPLETELY 
             PROCESSED 
    ESM0400  'CREATE' OR 'RESUME' SUBSYSTEM 'SPOOL /V04.3.A' WITH
             'SYNCHRONOUS=YES' AND 'RESET=NO'
    ESM0220  FUNCTION 'CREATE' FOR SUBSYSTEM 'SPOOL /V04.3.A' COMPLETELY 
             PROCESSED 
    


    Gibt es eine oder mehrere Versionen des Subsystems, die nicht im Zustand NOT-CREATED oder LOCKED sind (außer der auszutauschenden Version im Zustand CREATED), wird der Austausch abgewiesen, auch wenn alle Versionen Koexistenz erlauben.

    Beispiel

    Die Subsystemversionen UTM V06.3, V06.4 und V06.5 sind mit VERSION-COEXISTENCE=*ALLOWED und VERSION-EXCHANGE=*ALLOWED definiert.


    /SHOW-SUBSYSTEM-STATUS UTM,*ALL 
    SUBSYSTEM UTM    /V06.5    IS NOT RESUMED 
    SUBSYSTEM UTM    /V06.5    IS NOT CREATED 
    SUBSYSTEM UTM    /V06.5    IS CREATED 
    /START-SUBSYSTEM UTM,06.4,VERSION-PARALLELISM=*EXCHANGE-MODE 
    ESM0206  SOME ACTIONS IN PROGRESS FOR SUBSYSTEM 'UTM/V06.3'. 
             NO FURTHER ACTION ON ANOTHER VERSION POSSIBLE 
    ESM0224  REQUESTED FUNCTION 'CREATE' FOR SUBSYSTEM 'UTM/V06.4'
             REJECTED
    


    Während des Austauschs der alten durch die neue Version des Subsystems wird auch die Syntaxdatei der neuen Version geladen. Das bedeutet, dass die Syntax der neuen Version auch Kommandos und Anweisungen der alten Version erkennen und ausführen muss. Es muss also darauf geachtet werden, dass die Syntax der neuen Version die der alten Version kompatibel unterstützt.

    Es wird empfohlen, den Austausch von Versionen unter Verwendung der CLOSE-CTRL-Routine nur dann auszuführen, wenn die neu zu aktivierende Version auch die höhere Version von beiden ist.