Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

OPCOM - Teilnahme an Intertaskkommunikation erklären

&pagelevel(3)&pagelevel

Allgemeines

Anwendungsgebiet:

Intertaskkommunikation; siehe "Intertaskkommunikation (ITC)";

Kommunikation; siehe "Kommunikation (Programm, Anwender, System)"

Makrotyp:

O-Typ;

siehe "O-Typ-Makroaufrufe"


Makrobeschreibung

Mit dem Makro OPCOM erklärt der Anwender seine Teilnahme an der Intertaskkommunikation (ITC). Der Aufrufer gibt einen Namen an, der als ITC-Name zur Identifikation des Teilnehmers beim Senden oder Empfangen einer Nachricht dient. Der Name wird in die ITC-Teilnehmerliste eingetragen, wenn er nicht schon von einem anderen ITC-Teilnehmer benutzt wird (siehe Rückinformation).
Der Teilnehmer, der zuerst den Makro OPCOM aufruft, eröffnet damit auch implizit die Intertaskkommunikation (Einrichten einer Kommunikationstabelle).

Makroaufrufformat und Operandenbeschreibung

OPCOM

name / (1)

name
Name, den der Aufrufer als ITC-Name benutzen möchte. Der Name darf maximal 8 Zeichen lang sein. Zulässig sind alphanumerische Zeichen und Sonderzeichen mit Ausnahme von:

X'00' bis X'3F'
X'41' bis X'49'
X'51' bis X'59'
X'62' bis X'69'
X'70' bis X'79'
X'80' bis X'C0'
X'CA' bis X'D0'
X'DA' bis X'E1'
X'EA' bis X'EF'
X'FA' bis X'FE'

Das Zeichen X'40' darf man nur als letztes Zeichen von „name“ angeben.

(1)
Register R1 enthält den Adresswert des Feldes mit dem ITC-Namen. Feldlänge = 8 Byte.

Rückinformation und Fehleranzeigen

R15:

+---------------+
|   |   |   |   |
| | | | | | |a|a|
+---------------+

Über die Ausführung des Makros OPCOM wird im rechtsbündigen Byte des Registers R15 ein Returncode übergeben.

X'aa'

Erläuterung

X'00'

Die ITC-Teilnahme ist eröffnet.

X'04'

Fehler in der Operandenangabe. Die ITC-Teilnahme ist nicht eröffnet.

X'08'

ITC-Name ist schon vergeben. Die ITC-Teilnahme ist nicht eröffnet.

X'0C'

Kein Systemspeicher zur Eröffnung der ITC verfügbar oder die systeminterne Größe für
Empfangswarteschlangen ist überschritten.

X'10'

Die ITC-Teilnahme wurde bereits erklärt.

OPSGEN – Steuern der S-Variablen-Generierung durch MIP

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
mit SIGNAL=*START eingeschaltet zu haben.

Weitere Returncodes, deren Bedeutung durch Konvention makroübergreifend festgelegt ist, können derTabelle „Standard-Returncodes“ (Standardheader) entnommen werden.