Die Exit-Routine wird aufgerufen, wenn eine vom System nicht angebotene Sonder-Jobvariable 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 Sonder-Jobvariable übergeben werden, die der Anwender des Kommandos erhalten soll. Auf diese Weise können eigene Sonder-Jobvariablen realisiert werden.
Die Adresse des Parameterbereichs EX033 wird in Register 1 übergeben. Das Feld JVSXJV des Parameterbereichs enthält den Namen der vom Benutzer gewünschten Sonder-Jobvariable.
Folgende Informationen werden an die Exit-Routine übergeben:
R1 = A(EX033-Parameterliste) 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 in der Parameterliste übergeben werden. Im Feld JVSXLEN kann die Länge der Information (1-256) und im Feld JVSXVAL der Inhalt der Sonder-Jobvariablen eingetragen werden. Der Maincode im Standardheader muss auf X'0000' gesetzt sein.
Ist keine Exit-Routine angemeldet oder der Maincode ungleich X'0000', erhält der Benutzer die Meldung:
% JVS0472 NAME DER SONDER-JV UNZULAESSIG. KOMMANDO KORRIGIEREN
DSECT
Eine DSECT für die Parameterliste (Adresse in Register 1) kann mit dem Makro EX033 erzeugt werden.
EX033 EX033 MF=D EX033 MFTST MF=D,PREFIX=J,MACID=VSX,ALIGN=F, C DMACID=VSX,SUPPORT=(D,C,M,L),DNAME=VSXPL EX033 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