This exit routine is called when a special job variable that is not supported by the system is accessed. The access can be made either via the SHOW-JV and MODIFY-JV commands or using the GETJV and SETJV macros. Values for the special job variable which are destined for the person using the command can be passed in this exit routine. This makes it possible to implement separate special job variables.
The address of parameter area EX033 is passed in register 1. The JVSXJV field of the parameter area contains the name of the special job variable requested by the user.
The following information is transferred to the exit routine:
R1 = A(EX033 parameter area) R12 = A(TPR program manager) R13 = A(save area of calling component) R14 = A(indirect return) R15 = A(exit routine)
Return code
The return code for the calling system component can be transferred in the parameter area. The code can be entered in the JVSXLEN field (1-256) and the contents of the special job variable can be transferred in the JVSXVAL field. The maincode in the standard header must be set to X'0000' and subcode1 must be set to X'00'.
If no exit routine has been specified, the maincode is not equal to X'0000' and/or the subcode is not equal to X'00', the following message is displayed:
% JVS0472 NAME OF SPECIAL JOB VARIABLE NOT PERMITTED. CORRECT COMMAND
DSECT
A DSECT for the parameter area (address in register 1) can be generated with the EX033 macro.
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