Der $GTBOID-Makro ermittelt für eine Ereigniskennung die zugehörige Börsenkennung. $GTBOID darf nur in der Exit-Routine Nummer 0 benutzt werden, die von der Hilfstask unter TSOS aufgerufen wird und die die Ereigniskennung eingerichtet hat (ENAEI-Makro). Die Ereignis-Kurzkennung muss in der EXCALL-Parameterliste an die Exit-Routine übergeben werden.
Makroaufrufformat und Operandenbeschreibung
MF
beschreibt die Makroaufrufform.
=C
Die Parameterliste wird als Datenbereich generiert.
=D
Die Parameterliste wird als DSECT generiert mit dem für „label“ angegebenen Namen; Voreinstellung: label = NTEG.
=E
Aufruf der Funktion.
=L
Die Parameterliste wird generiert (ohne Feldnamen und Equates).
PREFIX
Angabe eines Zeichens für die Feldnamen in der Parameterliste. Nur in Verbindung mit MF=C/D möglich.
=prefix
Ein Zeichen, mit dem die Feldnamen in der Parameterliste beginnen sollen; Voreinstellung: N.
PARAM
bezeichnet die Adresse der Parameterliste, wenn MF=E angegeben wird.
=adr
Adresse der Parameterliste.
Hinweise
R12 und R13 dürfen seit Exit-Routinenaufruf nicht verändert worden sein.
R14, R15 und R1 werden durch MF=E verändert.
Die Parameterliste muss entsprechend der Reentrant-Programmierung bearbeitet werden.
Returncode
Im Standardheader der Parameterliste wird folgender Returncode übergeben:
Maincode | Bedeutung |
NTEGPAER | Parameter-Syntax-Fehler |
NTEGEIER | Falsche Ereigniskennung, keine Börsenkennung zurückgegeben |
X' 00' | Erfolgreicher Aufruf, Börsenkennung zurückgegeben |
Programmierbeispiel
EXIT0000 @ENTR TYP=E,ENV=SPLSPEC,LOCAL=ADF : MVC CPARAM(NTEG#),LPARAM ——————————————————————————————————— (1) MVC NTEGEIID(4),EIID ——————————————————————————————————————— (2) $GTBOID MF=E,PARAM=CPARAM ———————————————————————————————————— (3) CLI NTEGMR1,X'00' —————————————————————————————————————————— (4) BNE exception MVC BOID(4),NTEGBOID ——————————————————————————————————————— (5) : @EXIT : LPARAM $GTBOID MF=L ————————————————————————————————————————————————— (6) NTEGDATA DS 0A NTEGFHE DS 0XL8 GENERAL OPERAND LIST HEADER NTEGFCTU DC AL2(81) FUNCTION UNIT NUMBER NTEGFCT DC AL1(0) FUNCTION NUMBER NTEGFCTV DC AL1(1) FUNCTION INTERFACE VERSION NUMBER NTEGRET DC X'FFFFFFFF' RETURN CODE NOT VALID NTEGMR1 EQU NTEGRET+3,1 MAIN RETURN CODE 1 * NTEGEIID DC F'0' Event Item Identifier (EIID) NTEGBOID DC F'0' Bourse Identifier (BOID) NTEG# EQU *-NTEGDATA Size of Parameter List : BOID DC A(0) ENTRY BOID @END ADF @PAR L=YES : CPARAM $GTBOID MF=C ————————————————————————————————————————————————— (7) ADF @PAR LEND=YES
(1) | Vorbesetzen der aktuellen Parameterliste mit dem „Standardmuster“ |
(2) | Einsetzen der Ereigniskennung |
(3) | Aufruf der Funktion $GTBOID |
(4) | Auswertung des Returncodes |
(5) | Sicherstellung der Börsenkennung im Gut-Fall an „gut“ sichtbarer Stelle oder im Systemvektor |
(6) | Standardmuster der Parameterliste |
(7) | Platzhalter der aktuellen Parameterliste im Automatic-Speicherlayout |