Die Exit-Routine wird aufgerufen, wenn eine vom System nicht angebotene Sonderjobvariable angesprochen wird. Der Zugriff kann durch die Kommandos SHOW-JV und MODIFY-JV oder durch die Makros GETJV und SETJV erfolgen. In der Exit-Routine können Werte für die Sonderjobvariable übergeben werden, die der Anwender des Kommandos erhalten soll. Auf diese Weise können eigene Sonderjobvariablen realisiert werden.
Die Adresse des Parameterbereichs EX033 wird in Register 1 übergeben. Das FeldJVSXJV des Parameterbereichs enthält den Namen der vom Benutzer gewünschten Sonderjobvariable.
Folgende Informationen werden an die Exit-Routine übergeben:
R1 = A(EX033-Parameterbereich) R12 = A(TPR Program Manager) R13 = A(Sicherungsbereich der rufenden Komponente) R14 = A(indirekter Rücksprung) R15 = A(Exit-Routine)
Rückkehrinformationen
Die Rückinformation an die rufende Systemkomponente kann im Parameterbereich übergeben werden. Im Feld JVSXLEN kann die Länge der Information (1-256) und im Feld JVSXVAL der Inhalt der Sonderjobvariablen eingetragen werden. Der Maincode im Standardheader muss auf X'0000' und der Subcode1 auf X'00' gesetzt sein.
Die Meldung
% JVS0472 NAME DER SONDER-JV UNZULAESSIG. KOMMANDO KORRIGIEREN
wird ausgegeben, wenn keine Exit-Routine angemeldet, der Maincode ungleich X'0000' und/oder der Subcode ungleich X'00' ist.
DSECT
EX033 MF=D
MFTST MF=D,PREFIX=J,MACID=VSX,ALIGN=F, C
DMACID=VSX,SUPPORT=(D,C,M,L),DNAME=VSXPL
JVSXPL DSECT ,
*,##### PREFIX=J, MACID=VSX #####
JVSXMIN EQU 1 MIN. LENGTH
*
JVSXMAX EQU 256 MAX. LENGTH
*
* end parameterarea
JVSXHDR FHDR MF=(C,JVSX),EQUATES=NO STANDARDHEADER
JVSXHDR DS 0A
JVSXFHE DS 0XL8 0 GENERAL PARAMETER AREA HEADER
*
JVSXIFID DS 0A 0 INTERFACE IDENTIFIER
JVSXFCTU DS AL2 0 FUNCTION UNIT NUMBER
* BIT 15 HEADER FLAG BIT,
* MUST BE RESET UNTIL FURTHER NOTICE
* BIT 14-12 UNUSED, MUST BE RESET
* BIT 11-0 REAL FUNCTION UNIT NUMBER
JVSXFCT DS AL1 2 FUNCTION NUMBER
JVSXFCTV DS AL1 3 FUNCTION INTERFACE VERSION NUMBER
*
JVSXRET DS 0A 4 GENERAL RETURN CODE
JVSXSRET DS 0AL2 4 SUB RETURN CODE
JVSXSR2 DS AL1 4 SUB RETURN CODE 2
JVSXSR1 DS AL1 5 SUB RETURN CODE 1
JVSXMRET DS 0AL2 6 MAIN RETURN CODE
JVSXMR2 DS AL1 6 MAIN RETURN CODE 2
JVSXMR1 DS AL1 7 MAIN RETURN CODE 1
JVSXFHL EQU 8 8 GENERAL OPERAND LIST HEADER LENGTH
*
* main return codes
JVSXSUCC EQU 0 NO ERROR DETECTED
JVSXREJE EQU 1 INVALID SPECIAL JV
*
JVSXJV DS CL54 NAME OF THE SPECIAL JV
JVSXLEN DS H RETURNED LENGTH OF JV-VALUE
JVSXUNU DS XL2 UNUSED
JVSXVAL DS CL256 RETURNED VALUE OF THE SPECIAL
* JV
JVSXUNU1 DS XL2 UNUSED
JVSX# EQU *-JVSXHDR