Allgemeines
Anwendungsgebiet: | Jobvariablen |
Makrotyp: | S-Typ: (Standardform/C-/D-/E-/L-Form) siehe Abschnitt „Der Operand MF“ |
Bei der C-Form und D-Form des Makroaufrufs kann ein Präfix PREFIX (pre = 1..3 Buchstaben) angegeben werden (siehe Abschnitt „Der Operand PREFIX“). | |
Voreinstellung: | PREFIX = IDJ |
Makrobeschreibung
Der Makro SETJV ordnet einer Jobvariablen einen Wert zu, der in einem Bereich des Benutzerprogramms gespeichert ist.
Makroaufrufformat und Operandenbeschreibung
Operation | Operanden |
|
|
jvid1
identifiziert die Jobvariable. jvid kann sein:
jvname | Vollqualifizierter Pfadname einer permanenten oder temporären Jobvariablen. |
*jvlink | Gültiger Jobvariablen-Kettungsname. |
start
Startposition (erstes zu änderndes Byte) im JV-Wert.
länge
Anzahl Zeichen, die gesetzt werden sollen.
bereich
Adresse eines Bereiches im Benutzerprogramm, der den Jobvariablenwert enthält. Der Bereich muss mit einem vier Byte großen Längenfeld beginnen, dessen erstes Halbwort die Länge des Wertes + vier Byte Längenfeld enthält.
EXPR=jvid2
gibt an, dass die Jobvariable „jvid“ auf den Wert der Jobvariablen „jvid2“ gesetzt werden soll. Für „jvid2“ sind die gleichen Jobvariablen-Namen wie für „jvid“ sowie zusätzlich die von Sonder-Jobvariablen zulässig.
PASS=kennwort
Lese- oder Schreibkennwort.
MF=
PREFIX=
Zur Beschreibung der Operanden MF und PREFIX siehe "Allgemeine Makro-Operanden". Die gültigen Werte sind zu Beginn der Makrobeschreibung dargestellt und aus dem Aufrufformat ersichtlich.
VERSION=
legt fest, welcher Version die Makroauflösung entsprechen soll.
0
ist Voreinstellung: Die Makroauflösung entspricht dem Stand JV <=
V8.7. Der Operand MF=D/C zur Erzeugung einer DSECT bzw. CSECT wird dabei nicht unterstützt (siehe Hinweis DSECT).
1
Die Makroauflösung entspricht JV >=
V10.0.
PARMOD=
steuert die Makroauflösung. Es wird entweder die 24-Bit- oder die 31-Bit-Schnittstelle generiert.
PARMOD wird nur mit VERSION=0 ausgewertet.
Wenn PARMOD nicht spezifiziert wird, erfolgt die Makroauflösung entsprechend der Angabe für den Makro GPARMOD oder der Voreinstellung für den Assembler (= 24-Bit-Adressierung).
24
Die 24-Bit-Schnittstelle wird generiert. Datenlisten und Befehle benutzen 24-Bit-Adressen. (Adressraum <=
16MB).
31
Die 31-Bit-Schnittstelle wird generiert. Datenlisten und Befehle benutzen 31-Bit-Adressen. (Adressraum <=
2GB). Datenlisten beginnen mit dem Standardheader.
Hinweis zur Operandenliste
Im Gegensatz zur Kommandoebene darf in der Operandenliste die Länge 0 spezifiziert werden, die dann die gesamte Jobvariablen-Länge repräsentiert.
Hinweise zur DSECT
Der Aufruf des Makros SETJV mit den Operanden MF=D und VERSION=1 erzeugt eine DSECT für die Operandenliste des SETJV-Makros (VERSION=1).
Eine CSECT/DSECT für den Makro mit VERSION=0 wird mit Aufruf des Makros IDJSE [D][,prefix] [,PARMOD=24/31] erzeugt.
Rückinformation und Fehleranzeigen
siehe Abschnitt "Makroebene".
DSECT
SETJV SETJV MF=D,VERSION=1 1 SETJV $SETJV ,,EXPR=,PASS=NONE,ENCR=YES,MF=D, C 1 PARMOD=,VERSION=1,CALLER=USER, C 1 PREFIX=IDJ,JVTYPE=STRING,NULLSTR=NO 2 ********************************************************************** 2 * VERSION 203 2 *********************************************************************** 2 * S E T J V P A R A M E T E R L I S T * 2 *********************************************************************** 2 #INTF REFTYPE=REQUEST, C 2 INTNAME=SETJV,INTCOMP=002 2 SETJV DSECT 2 *********************************************************************** 2 * UNIT=41, FUNCTION=1, VERSION=2 (V10.0) * 2 *********************************************************************** 2 FHDR MF=(C,IDJS) 3 DS 0A 3 IDJSFHE DS 0XL8 0 GENERAL PARAMETER AREA HEADER 3 * 3 IDJSIFID DS 0A 0 INTERFACE IDENTIFIER 3 IDJSFCTU DS AL2 0 FUNCTION UNIT NUMBER 3 * BIT 15 HEADER FLAG BIT, 3 * MUST BE RESET UNTIL FURTHER NOTICE 3 * BIT 14-12 UNUSED, MUST BE RESET 3 * BIT 11-0 REAL FUNCTION UNIT NUMBER 3 IDJSFCT DS AL1 2 FUNCTION NUMBER 3 IDJSFCTV DS AL1 3 FUNCTION INTERFACE VERSION NUMBER 3 * 3 IDJSRET DS 0A 4 GENERAL RETURN CODE 3 * 3 * GENERAL_RETURN_CODE CLEARED (X'00000000') MEANS 3 * REQUEST SUCCESSFUL PROCESSED AND NO ADDITIONAL INFORMATION 3 * 3 IDJSSRET DS 0AL2 4 SUB RETURN CODE 3 IDJSSR2 DS AL1 4 SUB RETURN CODE 2 3 * ALWAYS CLEARED (X'00') IF MAIN_RETURN_CODE IS X'FFFF' 3 * Standard subcode2 values as defined by convention: 3 IDJSR2OK EQU X'00' All correct, no additional info 3 IDJSR2NA EQU X'01' Successful, no action was necessary 3 IDJSR2WA EQU X'02' Warning, particular situation 3 IDJSSR1 DS AL1 5 SUB RETURN CODE 1 3 * 3 * GENERAL INDICATION OF ERROR CLASSES 3 * 3 * CLASS A X'00' FUNCTION WAS SUCCESSFULLY PROCESSED 3 * CLASS B X'01' - X'1F' PARAMETER SYNTAX ERROR 3 * CLASS C X'20' INTERNAL ERROR IN CALLED FUNCTION 3 * CLASS D X'40' - X'7F' NO CLASS SPECIFIC REACTION POSSIBLE 3 * CLASS E X'80' - X'82' WAIT AND RETRY 3 * 3 IDJSRFSP EQU X'00' FUNCTION SUCCESSFULLY PROCESSED 3 IDJSRPER EQU X'01' PARAMETER SYNTAX ERROR 3 * 3 GLOBALLY DEFINED ISL ERROR CODES IN CLASS X'01' - X'1F' 3 IDJSRFNS EQU X'01' CALLED FUNCTION NOT SUPPORTED 3 IDJSRFNA EQU X'02' CALLED FUNCTION NOT AVAILABLE 3 IDJSRVNA EQU X'03' INTERFACE VERSION NOT SUPPORTED 3 * 3 IDJSRAER EQU X'04' ALIGNMENT ERROR 3 IDJSRIER EQU X'20' INTERNAL ERROR 3 IDJSRCAR EQU X'40' CORRECT AND RETRY 3 * 2 GLOBALLY DEFINED ISL ERROR CODES IN CLASS X'40' - X'7F' 3 IDJSRECR EQU X'41' SUBSYSTEM (SS) MUST BE CREATED 3 * EXPLICITELY BY CREATE-SS 3 IDJSRECN EQU X'42' SS MUST BE EXPLICITELY CONNECTED 3 * 3 IDJSRWAR EQU X'80' WAIT FOR A SHORT TIME AND RETRY 3 IDJSRWLR EQU X'81' " LONG " 3 IDJSRWUR EQU X'82' WAIT TIME IS UNCALCULABLY LONG 3 * BUT RETRY IS POSSIBLE 3 * 2 GLOBALLY DEFINED ISL ERROR CODES IN CLASS X'80' - X'82' 3 IDJSRTNA EQU X'81' SS TEMPORARILY NOT AVAILABLE 3 IDJSRDH EQU X'82' SS IN DELETE / HOLD 3 * 3 IDJSMRET DS 0AL2 6 MAIN RETURN CODE 3 IDJSMR2 DS AL1 6 MAIN RETURN CODE 2 3 IDJSMR1 DS AL1 7 MAIN RETURN CODE 1 3 * 3 * SPECIAL LAYOUT OF LINKAGE_MAIN_RETURN_CODE (YYYY IN X'00XXYYYY') 3 * 3 IDJSRLNK EQU X'FFFF' LINKAGE ERROR / REQ. NOT PROCESSED 3 IDJSFHL EQU 8 8 GENERAL OPERAND LIST HEADER LENGTH 3 * 2 *********************************************************************** 2 * END OF STANDARD HEADER. START OF SPECIAL SETJV PARAMETER LIST * 2 *********************************************************************** 2 IDJSHDRI EQU X'00290102',4 2 IDJSJV DS CL54 JVNAME (JV TO BE SET) 2 IDJSPOS DS H SUBSTRING START POSITION 2 IDJSLEN DS H SUBSTRING LENGTH 2 DS H RESERVED 2 IDJSPASS DS CL4 PASSWORD 2 DS XL12 RESERVED 2 IDJSAR31 DS A SET VALUE ADDR 2 IDJSLENV DS CL1 LENGTH OF SET VALUE 2 * ONLY USED BY CMD PROCESSING 2 IDJSJV2 DS CL54 JVNAME2 (JV TO BE READ) 2 DS XL1 ALIGNMENT 2 IDJSPOS2 DS H SUBSTRING START POSITION 2 IDJSLEN2 DS H SUBSTRING LENGTH 2 IDJSOP DS CL1 RESERVED 2 IDJSF DS X FLAGS 2 IDJSFSE1 EQU X'80' 7-7 PRIV SETJV REQUEST 2 * 0=P1 CALLER,1=P2 CALLER 2 IDJSFRD EQU X'40' 6-6 TYPE=READ 2 IDJSFWT EQU X'20' 5-5 TYPE=WRITE 2 IDJSFUN EQU X'10' 4-4 TYPE=UNLOCK 2 IDJSFSH EQU X'08' 3-3 PROT=SHARE 2 IDJSFEX EQU X'04' 2-2 PASSWD IS GIVEN 2 IDJSRW EQU X'02' 1-1 RDPSTYPE=READ 2 IDJNOTF EQU X'01' 0-0 NOTIF=NO 2 IDJSF1 DS X FLAGS 2 IDJSENCR EQU X'80' 7-7 0=YES, 1=NO 2 * (ENCRYPTION) 2 IDJSF1NV EQU X'40' 6-6 0=NO, 1=YES 2 * (NUMERIC VALUE) 2 IDJSJVIX EQU X'20' 5-5 0=NO, 1=YES 2 * (JVID (1 OR 2) INDEXED) 2 * 4-4 RESERVED FOR MONJV-HANDLER 2 IDJSECT EQU X'08' 3-3 1=SET BY CMD PROCESSING 2 IDJSF1BV EQU X'04' 2-2 0=NO, 1=YES 2 * (BOOLEAN VALUE) 2 IDJSNSTR EQU X'02' 1-1 0=NO, 1=YES 2 * (NULLSTRING DEFINED) 2 DS XL1 ALIGNMENT 2 IDJSCTAD DS A CATALOG ENTRY ADDR 2 IDJSJVER DS CL54 JV IN ERROR 2 DS XL2 RESERVED 2 IDJSJVS DS A RESERVED 2 IDJSPLLN EQU *-SETJV LENGTH OF DSECT 2 *********************************************************************** 2 SPACE