MODIFY_SYSTEM

Script-Funktion: Verarbeitet ServiceManager-Aktionen, Queue-Änderungen, steuert Schritte in einem Zero Downtime Upgrade-Szenario und für den zentralisierten Agentenaktualisierungsprozess.

Dieses Script-Sprachmittel kann verwendet werden, um vier verschiedene Arten von Aufgaben zu bearbeiten:

  1. Ausführen der Aktionen eines ServiceManagers, der mit dem AE-System verbunden ist
  2. Ändern der Werte oder Zustände von Queue-Objekten (GO/STOP)
  3. Wechsel der Verarbeitungsrichtung während eines Zero Downtime Upgrade-Szenarios oder eines Abschlusses der Zero Downtime Upgrade-Phase.
  4. Ausführen von Aktionen zur Verarbeitung eines zentralisierten Agentenaktualisierungsprozesses.

Die durchzuführende Aktion der Script-Funktion richtet sich nach den angegebenen Parametern. Siehe dazu die folgenden Syntaxbeschreibungen.

Mit diesem Script-Script-Sprachmittel können Sie Serverprozesse und Agenten nur dann starten, wenn ein ServiceManager zur Verfügung steht, der korrekt konfiguriert und mit dem AE-System verbunden ist. Beachten Sie auch die Einstellungen auf der Seite „Attribute“ von Agenten oder Serverobjekten (Seite „Attribute“).

Queue

Syntax

MODIFY_SYSTEM (Action, Queue, Value)

Syntax

Beschreibung/Format

Action:

Definiert die Modifikationen, die in Queue-Objekten vorgenommen werden sollen
Format: Script-Literal oder Script-Variable

Erlaubte Werte:

  • MODE = Queue-Status, Start/Stopp der Ausführung von Queue-Aufgaben
  • MAX_SLOTS = Max. Anzahl von Aufgaben, die gleichzeitig ausgeführt werden können (max. Slots)
  • PRIORITY = Aufgabenpriorität

Queue

Name des Queue-Objekts, das geändert werden soll.
Format: Script-Literal oder Script-Variable

Value

Wert für die Einstellung oder den Status, der geändert werden soll (Aktion).
Format: Script-Literal oder Script-Variable

Erlaubte Werte in Abhängigkeit der gewählten Aktion:

MODE: GO oder STOP
MAX_SLOTS: Zahl zwischen 0 und 99999 oder unbegrenzt
PRIORITY: Zahl zwischen 0 bis 255

Ändern des Status von Queue-Objekten (Start/Stopp) mit diesem Script-Sprachmittel (Aktion: MODUS) bewirkt, dass der neue Status bis zu einer neuen Änderung gültig ist. Änderungen an prioritären oder maximalen Queue-Slots bleiben so lange gültig, bis diese Werte aufgrund einer Ausnahme geändert werden oder wenn ein Benutzer sie manuell ändert, siehe Berücksichtigen der ERT in Queue-Objekten.

Werden die maximalen Slots von Queue-Objekten auf „UNLIMITED“ geändert, gibt es keine Begrenzung für die parallel laufenden Aufgaben.

Beispiel

Das folgende Beispiel setzt den Status des Queue-Objekts QUEUE.JOBS auf GO:

:SET &RET# = MODIFY_SYSTEM("MODE", "QUEUE.JOBS", "GO")
:IF &RET# = "0"
: PRINT "Processing the Queue object QUEUE.JOBS has successfully been activated."
:ELSE
: PRINT "QUEUE.JOBS: Error when changing the status to GO."
:ENDIF

Liste der möglichen Rückgabewerte bei der Änderung von Queue-Objekten:

Rückgabewerte

0 - Die für diese Script-Funktion definierte Aktion wurde erfolgreich ausgeführt.
11901 - Das angegebene Queue-Objekt konnte im Mandanten nicht gefunden werden.
20836 - Es wurde ein ungültiger Wert für die Priorität des Queue-Objekts oder die maximalen Slots angegeben.
20837 - Für den Parameter MOD wurde ein ungültiger Wert angegeben.

ServiceManager

Syntax

MODIFY_SYSTEM (Action, Name [,Server mode])

Syntax

Beschreibung/Format

Aktion:

Definiert die Maßnahmen, die für Agenten, Serverprozesse oder das AE-System ergriffen werden sollen.
Format: Script-Literal oder Script-Variable

Erlaubte Werte:

STARTUP = Startet einen Agenten oder einen Serverprozess.
TERMINATE = Beendet einen Agenten oder einen Serverprozess.
SHUTDOWN = Schaltet das gesamte AE-System aus.
CHANGE_MODE = Ändert den Modus eines Server-Arbeitsprozesses (WP).
DISCONNECT = Schließt die Agentenverbindung und stellt sie wieder her.

Name

Name des Agenten oder Serverprozesses, der gestartet oder beendet werden soll oder dessen Modus geändert werden soll.
Format: Script-Literal oder Script-Variable

Server mode

Modus, in den der angegebene WP geändert werden soll.
Format: Script-Literal oder Script-Variable

Dieser Parameter ist nur erforderlich, wenn der Modus eines WPs geändert werden soll (Aktion =CHANGE_MODE).

Erlaubte Werte:
D: Dialogprozess
W: Arbeitsprozess

Eine weitere Funktionalität des Script-Sprachmittels MODIFY_SYSTEM ist die Möglichkeit Serverprozesse und Agenten zu starten oder zu beenden bzw. den Modus von Server-Arbeitsprozessen zu ändern.

Die Aktion STARTUP kann nur verwendet werden, wenn ein ServiceManager verfügbar ist und wenn der zu startende Agent oder Serverprozess korrekt konfiguriert wurde. Beachten Sie auch die Einstellungen auf der Seite Attribute von Agenten oder Serverobjekten (Seite „Attribute“).

Um das AE-System mit SHUTDOWN zu beenden, wird für den Parameter Name der Wert UC4 benötigt (siehe :SHUTDOWN).

Der Parameter Server-Modus ist erforderlich, um den Modus des Server-Arbeitsprozesses zu ändern (Aktion: CHANGE_MODE). Der Parameter Servermodus darf nicht in Kombination mit den Aktionen STARTUP, TERMINATE, DISCONNECT und SHUTDOWN verwendet werden.

Beispiel

Herunterfahren des Agenten WIN01:

Liste der möglichen Rückgabewerte bei der Änderung des ServiceManagers:

Rückgabewerte

11677 - Der ServiceManager-Aufruf konnte nicht verarbeitet werden: Es wird kein CP gestartet.
11678 - Server oder Agent wurde nicht gestartet.
11679 - Erfolgreiche ServiceManager-Abfrage.
11680 - Die Verbindung zum ServiceManager konnte nicht hergestellt werden oder der angegebene Prozess konnte nicht im ServiceManager gefunden werden.
11681 - Ein ServiceManager-Aufruf ist nicht möglich, da der angegebene Hosttyp nicht unterstützt wird.
11682 - Ein ServiceManager-Aufruf ist nicht möglich, da der angegebene Agent/Server-Prozess nicht gefunden werden konnte.
11683 - Ein ServiceManager-Aufruf wird nicht verarbeitet, da der Server nicht mit dem angegebenen ServiceManager verknüpft ist oder die gleiche Abfrage bereits bearbeitet wurde.

Zero Downtime Upgrade

Syntax

MODIFY_SYSTEM (Action, Value)

Syntax

Beschreibung/Format

Aktion:

Zulässiger Wert ZERO_DOWNTIME_UPGRADE = Zero Downtime Upgrade-Kontrolle.

Value

Dieser Parameter wird für Routing-Meldungen verwendet, die von neuen oder alten WPs / CPs verarbeitet werden sollen.

Erlaubte Werte:

BEGIN = setzt UC_SYSTEM_SETTINGS / ZERO_DOWNTIME_UPGRADE auf "Y"

END = setzt UC_SYSTEM_SETTINGS / ZERO_DOWNTIME_UPGRADE auf "N" - nur möglich, bevor irgendwelche Schritte im Upgrade-Prozess durchgeführt werden

UPGRADE = Upgrade-Modus.
Der zu den neuen CPs und WPs gehörende Nachrichtenwarteschlangensatz wird aktiviert. Die PWP-Rolle wechselt zu einem neuen WP. Die Nachrichten werden an die neue Verarbeitung weitergeleitet, während die alte Verarbeitung ausläuft.

ROLLBACK = Rollback-Modus.
Der zu den alten CPs und WPs gehörende Nachrichtenwarteschlangensatz wird aktiviert. Die Nachrichten werden zurück zur alten Verarbeitung geleitet, während die neue Verarbeitung ausläuft.

FINALIZE = Schließt die Zero Downtime Upgrade-Phase ab, indem die aktuell aktive Nachrichtenwarteschlange als Basis festgelegt und UC_SYSTEM_SETTINGS / ZERO_DOWNTIME_UPGRADE auf N zurückgesetzt wird

Verwendung für die Durchführung eines Upgrades ohne Ausfallzeiten nur, wenn UC_SYSTEM_SETTINGS / ZERO_DOWNTIME_UPGRADE = Y

Das Datenbank-Upgrade muss zuvor erfolgreich durchgeführt werden. Mindestens ein CP und ein WP der neuen Version müssen in Betrieb sein.

Einzelheiten entnehmen Sie bitte dem Dokument Zero Downtime Upgrade - Aktualisierungsprozess.

Beispiel

Dieses Beispiel zeigt die Einstellungen, die für den Start des Rollbacks notwendig sind:

:SET &RET# = MODIFY_SYSTEM("ZERO_DOWNTIME_UPGRADE", "ROLLBACK")

Liste der möglichen Rückgabewerte für das Zero Downtime Upgrade:

Rückgabewerte

0 - Die für diese Script-Funktion definierte Aktion wurde erfolgreich ausgeführt.
11895 - Warnung vor Zero_Downtime_Upgrade: Kein aktives CP oder WP für die aktive Version gefunden, der Modus [Specified] wurde aktiviert.
20833 - Laufzeitfehler im Objekt [specified]: MODIFY_SYSTEM mit Opcode ZERO_DOWNTIME_UPGRADE nicht gültig. ZERO_DOWNTIME_UPGRADE nicht gesetzt in UC_SYSTEM_SETTINGS.
20846 - Laufzeitfehler im Objekt [specified]: MODIFY_SYSTEM(ZERO_DOWNTIME_UPGRADE) nicht gültig mit Opcode [specified]. Upgrade-Version nicht in der DB gefunden. Bitte laden Sie zuerst die Version mit DB-Load.
20890 - Laufzeitfehler im Objekt [specified]: Fehler in MODIFY_SYSTEM. Funktion [specified action] nicht für Opcode 'ZERO_DOWNTIME_UPGRADE' erlaubt.
20891 - Laufzeitfehler im Objekt [specified]: ZERO_DOWNTIME_UPGRADE - ROLLBACK nicht möglich. Es gibt noch Agenten [specified], die mit der Version [specified] verbunden sind
20892 - Laufzeitfehler im Objekt [specified]: ZERO_DOWNTIME_UPGRADE - ROLLBACK nicht möglich. Es gibt noch aktive Takes mit der Version > [specified].
20893 - Laufzeitfehler im Objekt [specified]: ZERO_DOWNTIME_UPGRADE - UPGRADE nicht möglich. Kein Arbeitsprozess mit aktiver Upgrade-Version.
20894 - Laufzeitfehler im Objekt [specified]: ZERO_DOWNTIME_UPGRADE - ROLLBACK nicht möglich. Der Rollback-Modus ist bereits aktiv.
20895 - Laufzeitfehler im Objekt [specified]: ZERO_DOWNTIME_UPGRADE - UPGRADE nicht möglich. Der Upgrade-Modus ist bereits aktiv.
20896 - Laufzeitfehler im Objekt [specified]: ZERO_DOWNTIME_UPGRADE - FINALIZE nicht möglich. Der Upgrade-Modus ist nicht aktiv.
20897 - Laufzeitfehler im Objekt [specified]: MODIFY_SYSTEM(ZERO_DOWNTIME_UPGRADE) nicht gültig mit Opcode [specified]. Basisversion nicht in der DB gefunden.
20898 - Laufzeitfehler im Objekt [specified]: MODIFY_SYSTEM(ZERO_DOWNTIME_UPGRADE) nicht gültig mit Opcode [specified]. ZERO_DOWNTIME_UPGRADE bereits auf "Y" gesetzt.
20899 - Laufzeitfehler im Objekt [specified]:ZERO_DOWNTIME_UPGRADE - FINALIZE_ROLLBACK nicht möglich. Rollback-Modus nicht aktiv.
20900 - Laufzeitfehler im Objekt [specified]: ZERO_DOWNTIME_UPGRADE - END nicht möglich. Der Upgrade-Modus ist weiterhin aktiv. Verwenden Sie zuerst FINALIZE.
20901 - Laufzeitfehler im Objekt [specified]: ZERO_DOWNTIME_UPGRADE - [specified action] nicht möglich. Alte CPs der Version haben noch offene Verbindungen.
20902 - Laufzeitfehler im Objekt [specified]: ZERO_DOWNTIME_UPGRADE - [specified action] nicht möglich. Es gibt noch Einträge in MQWP.
20903 - Laufzeitfehler im Objekt [specified]: ZERO_DOWNTIME_UPGRADE - [specified action] nicht möglich. Es gibt noch Einträge in MQJWP.
29177 - UCUDB: ZERO_DOWNTIME_UPGRADE - Das Caching der Tabellenstruktur wird nicht mehr verwendet.
29178 - UCUDB: ZERO_DOWNTIME_UPGRADE - Caching der Tabellenstruktur ist eingeschaltet.
38276 - ZERO_DOWNTIME_UPGRADE ='Y' ist nur erlaubt, wenn ein System läuft.

Zentralisierte Agentenaktualisierung

Den Import von Upgrade-Paketen für die CAU müssen Sie im Systemmandanten 0000 durchführen.

Die CAU kann von jedem Mandanten Ihres Systems aus ausgeführt werden, wenn die zu aktualisierenden Agenten und die Benutzer die entsprechenden Berechtigungen dafür haben.

Syntax

MODIFY_SYSTEM (Action, Sub function, Agent(s), Version[,FORCED][,Custom text])

Syntax

Beschreibung/Format

Aktion:

Zulässiger Wert: AGENT_UPGRADE = Zentralisierte Agentenaktualisierung.

Unterfunktion

Erlaubte Werte:

DEPLOY = Bereitstellen eines Agenten, der durch den Parameter Version angegeben ist.

SKIP_WAITING = Überspringen Sie eine registrierte Bereitstellung für aktuell inaktive oder besetzte Agenten.

Agent(s)

Verweis auf eine Datensequenz oder einen Filter des Agentennamens, auf den die Aktion angewendet werden soll.

Format: Script-Literal oder Script-Variable

Version

Vollsemantische Version, auf die der Agent aktualisiert werden soll, oder Speicherobjektname oder Literal ‚LATEST'.

Beispiel:

"12.0.0+BUILD.2112"
bzw.
'LATEST' für die neueste verfügbare Version des Agenten, der durch ein APM-Paket im Mandanten 0000 des aktuellen Systems repräsentiert wird.

Format: Script-Literal oder Script-Variable

Verwenden Sie diesen Parameter nur zusammen mit dem Wert DEPLOY des Parameters Sub function.

FORCED

Fixwert:

FORCED (optional)

Wenn dieser Parameter gesetzt ist, wird die Prüfung, ob ein Agent eine aktive ServiceManager-Verbindung hat, übersprungen (nur bei Verwendung von DEPLOY).

Custom text

Freier Text (optional)

Maximale Länge = 20

Erlaubte Zeichen: Wie auf der Seite Tab „Allgemein“Namen von Workflows.

Wenn dieser Parameter gesetzt ist, wird der Text anstelle von CAU als Namenspräfix für den obersten Statistiksatz verwendet (Verwendung nur bei DEPLOY).

Eine detaillierte Anleitung zur Durchführung einer CAU finden Sie im Dokument CAU - Upgrade-Verfahren

Der Benutzer, der diese Scripte ausführt, benötigt die Berechtigung System-Upgrades ausführen.

Beispiele

Beispiel-Script, das neue Agenten bereitstellt:

:SET&HND#=PREP_PROCESS_AGENTGROUP("AGENTGROUP_WINDOWS")
:SET&RUNID#=MODIFY_SYSTEM(AGENT_UPGRADE, DEPLOY, &HND#, "LATEST", FORCED, "MYHOTFIXUPGRADE")
!OR
!:SET &RUNID# = MODIFY_SYSTEM (AGENT_UPGRADE, DEPLOY, &HND#, "12.0.0+BUILD.2112", FORCED, "MYHOTFIXUPGRADE" )
:IF&RUNID#= 0
:SET&MSGNR#=SYS_LAST_ERR_NR()
:SET&MSGINSERT#=SYS_LAST_ERR_INS()
:SET&MSG# = GET_MSG_TXT(&MSGNR#, &MSGINSERT#)
:SEND_MSG&$USER#, &$DEPARTMENT#, &MSG#
:ENDIF

Beispiel-Script, das definiert, dass das Aktualisieren von wartenden Agenten übersprungen wird:

:SET &SKIPCOUNT# = MODIFY_SYSTEM (AGENT_UPGRADE, SKIP_WAITING, "AGENTNAMEORFILTER")
:SET&MSGNR# = SYS_LAST_ERR_NR()
:IF&MSGNR# > 0
:SET&MSGINSERT#=SYS_LAST_ERR_INS()
:SET&MSG#=GET_MSG_TXT(&MSGNR#, &MSGINSERT#)
:SEND_MSG&$USER#, &$DEPARTMENT#, &MSG#
:ENDIF

Liste der möglichen Rückgabewerte für die zentralisierte Agentenaktualisierung:

Im Falle des Rückgabewertes 0, verwenden Sie SYS_LAST_ERR_NR() und SYS_LAST_ERR_INS(), um nach möglichen Fehlern zu suchen.

Rückgabewerte

Mögliche Rückgabewerte für die AGENT_UPGRADE-Aktion DEPLOY

0 - Der Upgrade-Prozess konnte nicht gestartet werden. Überprüfen Sie die Ursache(n) mit SYS_LAST_ERR_NR() und SYS_LAST_ERR_INS().
>0 - RunID für den gesamten Upgrade-Prozess, der für jeden verarbeiteten Agenten eine Berichtszeile hat.

Rückgabewert für die AGENT_UPGRADE-Aktion SKIP_WAITING

>= 0 - AGENT_UPGRADE - Anzahl der erfolgreich übersprungenen Upgrades.

Siehe auch: