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