Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

CMDSTA Informationen über aktivierte Syntaxdateien ausgeben

&pagelevel(4)&pagelevel

Der Makro CMDSTA bewirkt, dass das Programm informiert wird über

  • die aktivierten Syntaxdateien

  • die Festlegungen, die für die Kommando-/Anweisungseingabe und -verarbeitung gelten.

Operation

Operanden

CMDSTA

OUTAREA = addr / (r)

,CALLID = *NO / addr / (r)

,FORM = SHORT / LONG / USER

[ ,MF =  ]

OUTAREA = addr / (r)
Adresse eines Übergabebereichs bzw. Register, das diese Adresse enthält. Die Information wird in diesen Bereich geschrieben. Der Bereich kann mit dem Makro CMDMEM generiert werden. Dieses Feld muss auf Halbwortgrenze ausgerichtet sein.

Der Übergabebereich wurde ab SDF V2.0A vergrößert. Näheres siehe "CMDCST Semantikfehlerdialog anstoßen".

CALLID =
bezieht sich auf einen Kontext (=Syntaxdateihierarchie), der durch einen OPNCALL-Makro eröffnet wurde. Der Name der Syntaxdateihierarchie (callid) muss den 4 Byte langen Wert haben, der von SDF an das Feld zurückgegeben wird, welches durch den Operanden CALLID im Open-Context-Makro bezeichnet wurde. Diese Funktion bezieht sich auf den Gebrauch der Makros OPNCALL und CLSCALL und ist für die BS2000-Entwicklung reserviert.

*NO
Die aktuelle aktivierte Syntaxdateihierarchie wird verwendet.

addr / (r)
Adresse eines 4 Byte langen Feldes oder Register, das diese Adresse enthält. Der Aufrufende übermittelt die callid dem Kontext (=Syntaxdateihierarchie), den er verwenden will. Dieses Feld muss auf Wortgrenze ausgerichtet sein.

FORM =

gibt an, ob die Ausgabeinformationen in Kurzform, in Langform oder zusätzlich mit allen Benutzersyntaxdateien in den Übergabebereich OUTAREA geschrieben werden.

SHORT
Ausgegeben werden nur Informationen über die aktivierte Basis-Systemsyntaxdatei (nicht die aktivierten Subsystem-Syntaxdateien), über die aktivierte Gruppensyntaxdatei, über die zuletzt aktivierte Benutzersyntaxdatei sowie die aktuellen Optionen für die Eingabe und die Verarbeitung von Kommandos und Anweisungen. In der Kurzform werden 530 Byte ausgegeben.

LONG
wie SHORT; zusätzlich werden alle Informationen über Subsystem-Syntaxdateien ausgegeben. In diesem Fall müssen die ersten zwei Byte des Übergabebereiches seine Länge enthalten. Der Übergabebereich muss für die Langform größer als 530 Byte sein. Die Anzahl der ausgegebenen Subsystem-Informationen hängt davon ab, wieviel Platz im Übergabebereich zur Verfügung steht. Passten nicht alle Subsystem-Informationen in den Übergabebereich, so wird ein entsprechender Return-Code übergeben.

USER
wie LONG; zusätzlich werden Informationen zu allen aktivierten Benutzersyntaxdateien ausgegeben.

MF =
definiert besondere Anforderungen an die Makroauflösung (Einzelheiten siehe Typen von Makroaufrufen und Handbuch „Makroaufrufe an den Ablaufteil“ [8]).

L
Es wird nur der Datenteil der Makroauflösung (Operandenliste) generiert. Das erfordert, dass im Makroaufruf keine Operandentypen mit ausführbarem Code auftreten. Der generierte Datenteil hat die im Namensfeld des Makroaufrufs angegebene Adresse.

(E,(1)) / (E,opadr)
Es wird nur der Befehlsteil der Makroauflösung generiert. Auf den zugehörigen Datenteil (Operandenliste) wird mit der Adresse „opadr“ verwiesen. Diese steht entweder in Register 1 oder wird direkt angegeben.

Rückinformation und Fehleranzeigen

Register 15 enthält im rechtsbündigen Byte einen Returncode. EQUATE-Anweisungen dafür können mit dem Makro CMDANALY generiert werden.

X’00’
X’04’
X’08’
X’0C’
X’38’
X’4C’

normale Beendigung
nicht behebbarer Fehler
Operandenfehler im Makroaufruf
Übergabebereich zu klein
SDF ist nicht verfügbar
Das Programm ist oberhalb der 16 MByte-Grenze nicht ablauffähig, weil SDF nicht
geladen ist. Bitte Systembetreuung verständigen.

Der Übergabebereich hat bei FORM=SHORT folgenden Aufbau:

Byte

Inhalt

0

Bit 0 = 0
Bit 0 = 1
Bit 1 = 0
Bit 1 = 1
Bit 2 = 0
Bit 2 = 1
Bit 3 = 0
Bit 3 = 1
Bit 4 = 0
Bit 4 = 1
Bit 5 = 0
Bit 5 = 1
Bit 6 = 0
Bit 6 = 1
Bit 7 = 0
Bit 7 = 1

UTILITY-INTERFACE = NEW-MODE
UTILITY-INTERFACE = OLD-MODE
PROCEDURE-DIALOGUE = NO
PROCEDURE-DIALOGUE = YES
CONTINUATION = NEW-MODE
CONTINUATION = OLD-MODE
CMD-STATISTICS = NO
CMD-STATISTICS = YES
MENU-LOGGING = NO
MENU-LOGGING = YES
MODE = EXECUTION
MODE = TEST
kein Spin-off für CMDRST (read statement)
Spin-off für CMDRST
INPUT-HISTORY = OFF
INPUT-HISTORY = ON

1

Umfang der Benutzerführung (siehe SET-GLOBALS ...,
GUIDANCE=... und MODIFY-SDF-OPTIONS ...,GUIDANCE=...)

X'04'
X'05'
X'06'
X'07'
X'08'

NO
EXPERT
MAXIMUM
MINIMUM
MEDIUM

2

Art der Eingabeprotokollierung (siehe SET-GLOBALS ...,
LOGGING=... und MODIFY-SDF-OPTIONS ...,LOGGING=...)

X'04'             INPUT-FORM
X'05'             ACCEPTED-FORM
X'06'             INVARIANT-FORM

3 bis 56

Name der aktivierten Basis-Systemsyntaxdatei

57 bis 68

Versionsnummer der aktivierten Basis-Systemsyntaxdatei
(siehe SET-GLOBALS VERSION= ...)

69 bis 122

Name der für die Task aktivierten Gruppensyntaxdatei

123 bis 134

Versionsnummer der für die Task aktivierten Gruppensyntaxdatei
(siehe SET-GLOBALS VERSION= ...)

135 bis 188

Name der zuletzt aktivierten Benutzersyntaxdatei

189 bis 200

Versionsnummer der zuletzt aktivierten Benutzersyntaxdatei
(siehe SET-GLOBALS VERSION= ...)

201 bis 230

Name des Programms, das der Kommandoprozessor im Testmodus zur Analyse der
eingegebenen Anweisungen verwendet

231 bis 234

aktuelle SDF-Version in der Form nn.n

235

Funktionstastenbelegung (siehe SET-GLOBALS...,FUNCTION-KEYS= und
MODIFY-SDF-OPTIONS..., FUNCTION-KEYS=....)

X'04'             OLD-MODE
X'05'             STYLE-GUIDE-MODE

236 bis 237

Anzahl zu speichernder Eingaben
(siehe SET-GLOBALS..., NUMBER-OF-INPUTS=... und MODIFY-SDF-OPTIONS...
INPUT-HISTORY=*ON (NUMBER-OF-INPUTS=...))

238

sicherheitsrelevante Einstellungen
(siehe MODIFY-SDF-OPTIONS ..., MODE=*TEST(...),...,INPUT-HISTORY=*ON(...))

bit 0 = 0
bit 0 = 1
bit 1 = 0
bit 1 = 1

CHECK-PRIVILEGES = *NO
CHECK-PRIVILEGES = *YES
PASSWORD-PROTECTION = *NO
PASSWORD-PROTECTION = *YES

239 bis 243

reserviert

244 bis 245

Anzahl der aktivierten Benutzersyntaxdateien

246 bis 531

reserviert für künftige Erweiterungen

Das Bit 6 in Byte 0 (Spin-off für CMDRST) kann von einem Benutzerprogramm nicht verwendet werden, da CMDRST nach Spin-off-Ende immer einen Return macht. Deshalb wird diese Anzeige für Benutzerprogramme immer zurückgesetzt. Dieses Merkmal ist für die Systemprogrammierung reserviert.

Wenn bei der Ausführung von MODIFY-SDF-OPTIONS eine Substitution von Aliasnamen durchgeführt wurde, stehen die Syntaxdateinamen mit <cat-id> und <user-id> im CMDSTA-Übergabebereich.

Für FORM=LONG wird der Übergabebereich wie folgt erweitert:

ByteInhalt
239reserviert
240 bis 243Adresse der Liste aller für die Task aktivierten Benutzersyntaxdateien
244 bis 245Anzahl der aktivierten Benutzersyntaxdateien
246 bis 531reserviert für künftige Erweiterungen
532 bis 533Anzahl der aktivierten Subsystem-Syntaxdateien
534 bis 587Name der ersten aktivierten Subsystem-Syntaxdatei
588 bis 599Versionsnummer der ersten aktivierten Subsystem-Syntaxdatei
600 bis 653Name der zweiten aktivierten Subsystem-Syntaxdatei
654 bis 665Versionsnummer der zweiten aktivierten Subsystem-Syntaxdatei

.

.

.


Für FORM=USER wird der Übergabebereich wie folgt erweitert:

ByteInhalt
(im Anschluss
an die Informationen über
Subsystemsyntaxdateien)
Name der ersten aktivierten Benutzersyntaxdatei (54 Byte)
Versionsnummer der ersten aktivierten Benutzersyntaxdatei (2 Byte)
Name der zweiten aktivierten Benutzersyntaxdatei (54 Byte)
Versionsnummer der zweiten aktivierten Benutzersyntaxdatei (2 Byte)

.

.

.