Aktuelle Konnektierung an Memory-Pools anzeigen
Komponente: | BS2000 |
Funktionsbereich: | System steuern und optimieren |
Anwendungsbereich: | PROGRAM |
Privilegierung: | STD-PROCESSING |
Funktionsbeschreibung
Das Kommando SHOW-MEMORY-POOL-STATUS informiert über Common Memory Pools, die aktuell im System angelegt sind. Lokale Memory-Pools werden nicht angezeigt. Die Ausgabe erfolgt nach SYSOUT. Angezeigt werden Name, Geltungsbereich und die Anzahl der angeschlossenen Tasks. Zusätzlich können auch die TSNs der angeschlossenen Tasks angefordert werden.
Der nicht-privilegierte Benutzer erhält in jedem Fall nur die nicht-privilegierten Memory Pools angezeigt, an die eine Task seiner Benutzerkennung angeschlossen ist. Bei Auflistung der Sharer-Tasks werden nur Tasks der eigenen Benutzerkennung aufgelistet.
Zur Einschränkung der Informationsmenge bestehen folgende Möglichkeiten:
Ausgabe für einen bestimmten Namen bzw. Namensraum
Ausgabe für einen bestimmten Geltungsbereich
Ausgabe für Memory-Pools mit bestimmten Eigenschaften
Zusätzlich kann festgelegt werden, wieviele TSNs bei der Ausgabe der angeschlossenen Tasks maximal angezeigt werden sollen (Voreinstellung ist 45).
Das Kommando unterstützt die strukturierte Ausgabe in S-Variable (siehe „Ausgabe in S-Variable").
Privilegierte Funktionen
Der privilegierte Anwender (Privileg TSOS bzw. SW-MONITOR-ADMINISTRATION) kann sich auch über Memory-Pools informieren, zu denen die eigene Task keinen Anschluss besitzt. Es werden alle Sharer-Tasks unabhängig von der Benutzerkennung angezeigt. Zur Auswahl von privilegierten Memory-Pools steht der Operand PRIVILEGED-POOL zur Verfügung.
Der mit dem Privileg STD-PROCESSING ausgestattete Aufrufer kann sich nur Informationen über alle Memory Pools beschaffen, an die er angeschlossen ist.
Format
SHOW-MEMORY-POOL-STATUS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Operandenbeschreibung
POOL-NAME = *ALL / <name 1..54 with-wild>
Bestimmt den Namen der Memory-Pools, die angezeigt werden sollen.
POOL-NAME = *ALL
Es werden alle Memory-Pools angezeigt.
POOL-NAME = <name 1..54 with-wild>
Nur der angegebene Memory-Pool wird angezeigt. Bei Angabe von Musterzeichen werden alle Memory-Pools angezeigt, deren Name mit der Musterzeichenfolge übereinstimmt.
SCOPE = *ANY / *GROUP(...) / *USER-GROUP(...) / *GLOBAL
Gibt an, ob nur Memory-Pools mit einem bestimmten Geltungsbereich angezeigt werden sollen.
SCOPE = *ANY
Die Memory-Pools werden unabhängig von ihrem Geltungsbereich angezeigt.
SCOPE = *GROUP(...)
Es werden nur Memory-Pools mit SCOPE=GROUP angezeigt.
USER-IDENTIFICATION = *ANY / *OWN / <name 1..8>
Es werden nur Memory-Pools angezeigt, die von der angegebenen Benutzerkennung angelegt wurden. Dabei bezeichnet *OWN die Benutzerkennung der aufrufenden Task. Mit *ANY ist die Ausgabe unabhängig von der Benutzerkennung voreingestellt.
SCOPE = *USER-GROUP(...)
Es werden nur Memory-Pools mit SCOPE=USER-GROUP angezeigt.
GROUP-IDENTIFICATION = *ANY / *OWN / <name 1..8>
Es werden nur Memory-Pools angezeigt, die von der angegebenen Benutzergruppe angelegt wurden. Dabei bezeichnet *OWN die Benutzergruppe, der die aufrufende Task angehört.
Mit *ANY ist die Ausgabe unabhängig von der Benutzergruppe voreingestellt.
SCOPE = *GLOBAL
Es werden nur Memory-Pools mit SCOPE=GLOBAL angezeigt.
SELECT = *ALL / *PARAMETERS(...)
Gibt an, ob die durch die Operanden POOL-NAME und SCOPE angegebene Menge von Memory-Pools über Auswahlkriterien eingeschränkt werden soll.
SELECT = *ALL
Die Ausgabe erfolgt unabhängig von weiteren Auswahlkriterien.
SELECT = *PARAMETERS(...)
Schränkt die durch die Operanden POOL-NAME und SCOPE angegebene Menge von Memory-Pools über Auswahlkriterien ein. Es sollen nur Memory-Pools ausgegeben werden, die alle nachfolgenden Kriterien erfüllen.
Der Defaultwert *ANY bedeutet, dass die entsprechende Eigenschaft kein Auswahlkriterium ist.
CONNECTION = *ANY / *BY-USER(...) / *BY-TASK(...)
Gibt an, ob die Memory-Pools in Abhängigkeit von den angeschlossenen Tasks angezeigt werden sollen.
CONNECTION = *BY-USER(...)
Es werden nur Memory-Pools angezeigt, an die eine Task der nachfolgend angegebenen Benutzerkennung angeschlossen ist.
USER-IDENTIFICATION = *OWN / <name 1..8>
Benutzerkennung der angeschlossenen Task. Mit *OWN ist die Benutzerkennung des Aufrufers voreingestellt.
Nur der privilegierte Benutzer kann sich Memory Pools anzeigen lassen, an die Tasks einer anderen Benutzerkennung angeschlossen sind.
CONNECTION = *BY-TASK(...)
Es werden nur Memory-Pools angezeigt, an die die angegebene Task angeschlossen ist.
TSN = *OWN / <alphanum-name 1..4>
TSN der angeschlossenen Task. Mit *OWN ist die Task des Aufrufers voreingestellt.
PRIVILEGED-POOL = *ANY / *YES / *NO
Dieser Operand steht nur privilegierten Benutzern zur Verfügung.
Gibt an, ob auch privilegierte Memory-Pools angezeigt werden sollen.
INFORMATION = *STD / *ALL(...)
Bestimmt den Umfang der auszugebenden Informationen. Mit der Voreinstellung *STD werden die Eigenschaften des Memory-Pools und die Anzahl der angeschlossenen Tasks ausgegeben.
INFORMATION = *ALL(...)
Es werden die Eigenschaften des Memory-Pools und die Anzahl der angeschlossenen Tasks ausgegeben. Zusätzlich werden alle angeschlossenen Tasks mit ihrer TSN aufgelistet.
NUMBER-OF-SHARERS = 45 / <integer 1..4096>
Gibt an, wieviele Tasks maximal aufgelistet werden sollen.
Kommando-Returncode
(SC2) | SC1 | Maincode | Bedeutung / garantierte Meldungen |
---|---|---|---|
0 | CMD0001 | Kommando fehlerfrei ausgeführt | |
1 | 0 | EMM3310 | Kein passender Memory Pool im System vorhanden |
2 | 0 | EMM3311 | Spezifizierter Memory Pool vorhanden, aber nicht konnektiert |
32 | EMM3312 | Interner Systemfehler | |
64 | CMD0216 | Privileg für Aufruf nicht vorhanden | |
64 | EMM3313 | Angegebene Task nicht im System vorhanden | |
64 | EMM3314 | Angegebene User-Id/Group-Id nicht im System vorhanden | |
130 | EMM3318 | Virtueller Speicher nicht ausreichend |
Ausgabeformat
Für jeden selektierten Memory-Pool werden folgende Eigenschaften in jeweils einer Ausgabezeile (ggf. mit Folgezeile) angezeigt:
Ausgabefeld | Bedeutung |
---|---|
POOL-NAME | Name des Memory-Pools |
SCOPE | Geltungsbereich des Memory-Pools, angezeigt mit GLOBAL, GROUP oder USER-GROUP) |
USER-ID | nur bei SCOPE=*GROUP: |
GROUP-ID | nur bei SCOPE=*USER-GROUP: |
NUMBER-OF-SHARERS | Anzahl der angeschlossenen Tasks |
LIST-OF-SHARERS | Ausgabe nur mit INFORMATION=*ALL: |
Ausgabe in S-Variable
Der Operand SCOPE und INFORMATION des Kommandos legen fest, welche S-Variablen erzeugt werden.
Ausgabe-Information | Name der S-Variablen | T | Inhalt | Bedingung |
---|---|---|---|---|
Gruppenname, unter der der Memory-Pool angelegt wurde | var(*LIST).GROUP-ID | S | <c-string 1..8> | SCOPE= |
Anzahl der angeschlossenen Tasks | var(*LIST).NUM-OF-SHARER | I | <integer 1..4096> | |
Name des Memory-Pools | var(*LIST).POOL-NAME | S | <c-string 1..54> | |
Geltungsbereich des Memory-Pools | var(*LIST).SCOPE | S | *GLOBAL | |
TSN der angeschlossenen Task | var(*LIST).TASK(*LIST) | S | <c-string 4..4> | INF=*ALL |
Benutzerkennung, unter der der Memory-Pool angelegt wurde | var(*LIST).USER-ID | S | <c-string 1..8> | SCOPE= |
Beispiel
/sh-mem-pool inf=*all
POOL-NAME DISK10#SIMVOL#MP SCOPE GROUP USER-ID K60 NUMBER-OF-SHARERS 3 LIST-OF-SHARERS 4WCZ 4WCY 4WCX POOL-NAME PASCALXT#MEMORYPOOL#V21A00 SCOPE GLOBAL NUMBER-OF-SHARERS 15 LIST-OF-SHARERS 0S4N 0S39 0S38 0S37 0S4F 0S4H 0S5I 0S5M 0S5N 0S4C 0S4K 0S4L 0S5H 0S6I 0S7K POOL-NAME DBSWNMBACOMMONPL0003 SCOPE USER-GROUP GROUP-ID MBASE NUMBER-OF-SHARERS 2 LIST-OF-SHARERS 20L2 20KT