Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

RPOFEI - POSSIG-Signal senden

&pagelevel(3)&pagelevel

Allgemeines

Anwendungsgebiet:

(optimierte) Ereignissteuerung; siehe "Ereignisgesteuerte Verarbeitung (Eventing)"

Makrotyp:

R-Typ;

siehe "R-Typ-Makroaufrufe"


Forward Eventing (FEV) ist eine optimierte Form der synchronen Ereignissteuerung (synchrones Eventing). FEV vermeidet für wiederholte POSSIG- bzw. SOLSIG-Aufrufe in einem Programm die wiederholte Validierung der angegebenen Operanden. Stattdessen wird eine Ereignisliste EVENTLST angelegt und z.B. für das Senden von Signalen zu einer Ereigniskennung (POSSIG-Funktion) einmalig ein POSSIG-Eintrag eingetragen. Der Eintrag kann explizit wieder gelöscht werden (DELFEI).
Die Task des Aufrufers muss der Ereigniskennung zugeordnet sein (ENAEI).

Makrobeschreibung

Der Makro RPOFEI nimmt Bezug auf einen POSSIG-Eintrag in der EVENTLST und löst das Senden eines Signals (Ereignisses) an eine Ereigniskennung aus.
Das Signal beendet den Wartezustand der anfordernden Task oder startet dort eine Contingency-Routine, wenn diese in einem SOLSIG-Aufruf angegeben wurde.

Makroaufrufformat und Operandenbeschreibung

RPOFEI

REFNUM=(r)

REFNUM=(r)
bezeichnet ein Register, das (direkt) die Referenznummer für den POSSIG-Eintrag enthält.

(r)
r = Register mit der Referenznummer.

Rückinformation und Fehleranzeigen

Während der Makrobearbeitung enthält Register R1 die Referenznummer.Register R0 wird mit einem internen Funktionscode überschrieben.

R15:

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

Über die Ausführung des Makros RPOFEI wird ein gegliederter Returncode (aa=primärer RC, bb=sekundärer RC) im Register R15 übergeben.

X'bb'

X'aa'

Erläuterung

X'00'

X'00'

Normale Ausführung: Das Signal wurde gesendet.

X'04'

X'04'

Keine Aktion: Falsche Referenznummer (POSSIG-Eintrag schon gelöscht?)

X'28'

X'04'

Keine Aktion: Die maximal mögliche Anzahl von Anforderungen in der POSSIG-
Warteschlange wurde überschritten.