Allgemeines
Anwendungsgebiet: | Meldungswesen; siehe "Meldungswesen" |
Makrotyp: | S-Typ; siehe "S-Typ-Makroaufrufe" |
Makrobeschreibung
Der Makro OPSGEN steuert Beginn oder Ende der S-Variablen-Generierung durch das Meldungssystem und übergibt den Variablennamen, unter dem die erstellte Variable abgelegt werden soll.
Makroaufrufformat und Operandenbeschreibung
OPSGEN |
[SIGNAL=*START / *STOP] ,OUTPUT=*SYSOUT / *NONE ,MODE=*REPLACE / *EXTEND [,MSGVAR=adr / (r)] [,MSGVARL=länge / adr / (r)] [,MF=D / C / E / L / M] [,PARAM=adr / (r)] ,PREFIX=N / p ,MACID=MHG / macid |
MF=
Zur allgemeinen Beschreibung des Operanden MF, der dazugehörenden Operandenwerte und der evtl. nachfolgenden Operanden (z.B. für einen Präfix) siehe Abschnitt „S-Typ-Makroaufrufe“. Die gültigen MF-Werte sind zu Beginn der Makrobeschreibung bei „Makrotyp“ angegeben und aus dem Aufrufformat ersichtlich.
SIGNAL=
gibt an die laufende Task das Signal zum Beginnen oder Beenden der Generierung von strukturierten Meldungsausgaben in S-Variable. Die Ausgabe enthält den Meldungstext, den Meldungsschlüssel, die Einfügungen und den Antwortbereich.
*START
Wird dieses Signal gegeben, beginnt MIP, strukturierte Meldungsausgaben zu generieren und in S-Variablen anzulegen.
*STOP
Die Generierung von strukturierten Meldungsausgaben wird beendet.
OUTPUT=
bestimmt, ob Meldungen vom Programm nach SYSOUT ausgegeben werden sollen oder nicht.
*SYSOUT
Die Meldungen werden nach SYSOUT ausgegeben.
*NONE
Die Meldungen werden verworfen und nicht ausgegeben.
MSGVAR=
verweist auf die Adresse eines Bereiches, in dem der Name der benötigten Variable steht.Die Angabe dieses Operanden ist nur mit MF=M möglich.
adr
symbolische Adresse eines Bereiches, der wiederum die Adresse des
Variablennamens enthält.
(r)
r = Register, das die Adresse des Bereichs enthält.
MSGVARL=
gibt die Länge (max. 255) des bei MSGVAR adressierten Bereiches an.
länge
anzugebende Länge des Feldes in Byte.
adr
symbolische Adresse eines 2 Byte langen Feldes, das die Länge enthält. Dieser Wert kann nur zusammen mit MF=M angegeben werden.
(r)
r = Register, das die Adresse des 2 Byte langen Feldes enthält.
MODE=
gibt an, ob der bereits bestehende Inhalt der S-Variable überschrieben werden oder die neu generierten Meldungen an den alten Inhalt angehängt werden sollen.
*REPLACE
Der Inhalt der S-Variablen wird vor dem Beschreiben mit den neu generierten Meldungen gelöscht.
*EXTEND
Die neu generierten Meldungen werden an den bereits bestehenden Inhalt der S-Variable angehängt.
Rückinformation und Fehleranzeigen
Standardheader:
+---------------+ | | | | | |c|c|b|b|a|a|a|a| +---------------+
Über die Ausführung des Makros OPSGEN wird im Standardheader folgender Returncode übergeben (cc=Subcode2, bb=Subcode1, aaaa=Maincode):
X'cc' | X'bb' | X'aaaa' | Erläuterung |
X'00' | X'00' | X'0000' | Funktion erfolgreich ausgeführt. |
X'00' | X'01' | X'0002' | Fehler in der Parameterliste. |
X'00' | X'01' | X'FFFF' | Funktion nicht bekannt. |
X'00' | X'02' | X'FFFF' | Falsche Angabe für UNIT/FUNCTION im Standardheader. |
X'00' | X'03' | X'FFFF' | Falsche Angabe für VERSION im Standardheader. |
X'00' | X'20' | X'0003' | Probleme bei der Variablen-Generierung. |
X'00' | X'20' | X'0004' | Fehler beim Ausführen der Funktion. |
X'00' | X'40' | X'0001' | Operand SIGNAL=*STOP angegeben, ohne vorher die Variablen-Generierung |
Weitere Returncodes, deren Bedeutung durch Konvention makroübergreifend festgelegt ist, können derTabelle „Standard-Returncodes“ (Standardheader) entnommen werden.