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 GETJV übergibt den Wert einer Benutzer- oder Sonder-Jobvariablen in einen Bereich des Benutzerprogramms.
Makroaufrufformat und Operandenbeschreibung
Operation | Operanden |
|
|
jvid
identifiziert die Jobvariable. jvid kann sein:
jvname | Vollqualifizierter Pfadname einer permanenten oder temporären Jobvariablen. |
*jvlink | Gültiger Jobvariablen-Kettungsname. |
start
Startposition für Ausgabe.
länge
Ausgabelänge.
bereich
Adresse eines Bereichs im Benutzerprogramm, in den der Wert der Jobvariablen übertragen werden soll. Versorgung des Bereichs:
Format
|
|
| |
|
größe
gibt die Größe von „bereich“ an. Sie sollte mindestens „Länge des zu lesenden Wertes + 4“ betragen und darf nicht größer als 32767 sein. Die tatsächliche genutzte Größe von „bereich“, d.h. die Länge des JV-Werts +4, wird in die ersten 2 Bytes des Bereichs eingetragen. Ist die Gesamtlänge des Jobvariablen-Wertes größer als der Maximalwert „größe - 4“, so wird der Jobvariablen-Wert abgeschnitten, sodass dieser Maximalwert eingehalten wird.
PASS=kennwort
Lesekennwort
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.
MF=
PREFIX=
Zur Beschreibung der Operanden MF und PREFIX siehe Kapitel Allgemeine Makrooperanden. Die gültigen Werte sind zu Beginn der Makrobeschreibung 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.
Hinweis
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 GETJV mit den Operanden MF=D und VERSION=1 erzeugt eine DSECT für die Operandenliste des GETJV-Makros (VERSION=1).
Eine CSECT/DSECT für den Makro mit VERSION=0 wird mit Aufruf des Makros IDJGE [D][,prefix] [,PARMOD=24/31] erzeugt.
Rückinformation und Fehleranzeigen
siehe Kapitel "Makroebene".
DSECT
GETJV GETJV MF=D,VERSION=1 GETJV GETJV MF=D,VERSION=1 1 *********************************************************************** 1 * VERSION 203 1 *********************************************************************** 1 * G E T J V P A R A M E T E R L I S T * 1 *********************************************************************** 1 #INTF REFTYPE=REQUEST, C 1 INTNAME=GETJV,INTCOMP=002 1 GETJV DSECT 1 *********************************************************************** 1 * UNIT=41, FUNCTION=0, VERSION=1 (V9.0) * 1 * VERSION=2 (V10.0) * 1 *********************************************************************** 1 FHDR MF=(C,IDJG) 2 DS 0A 2 IDJGFHE DS 0XL8 0 GENERAL PARAMETER AREA HEADER 2 * 2 IDJGIFID DS 0A 0 INTERFACE IDENTIFIER 2 IDJGFCTU DS AL2 0 FUNCTION UNIT NUMBER 2 * BIT 15 HEADER FLAG BIT, 2 * MUST BE RESET UNTIL FURTHER NOTICE 2 * BIT 14-12 UNUSED, MUST BE RESET 2 * BIT 11-0 REAL FUNCTION UNIT NUMBER 2 IDJGFCT DS AL1 2 FUNCTION NUMBER 2 IDJGFCTV DS AL1 3 FUNCTION INTERFACE VERSION NUMBER 2 * 2 IDJGRET DS 0A 4 GENERAL RETURN CODE 2 * 2 * GENERAL_RETURN_CODE CLEARED (X'00000000') MEANS 2 * REQUEST SUCCESSFUL PROCESSED AND NO ADDITIONAL INFORMATION 2 * 2 IDJGSRET DS 0AL2 4 SUB RETURN CODE 2 IDJGSR2 DS AL1 4 SUB RETURN CODE 2 2 * ALWAYS CLEARED (X'00') IF MAIN_RETURN_CODE IS X'FFFF' 2 * Standard subcode2 values as defined by convention: 2 IDJGR2OK EQU X'00' All correct, no additional info 2 IDJGR2NA EQU X'01' Successful, no action was necessary 2 IDJGR2WA EQU X'02' Warning, particular situation 2 IDJGSR1 DS AL1 5 SUB RETURN CODE 1 2 * 2 * GENERAL INDICATION OF ERROR CLASSES 2 * 2 * CLASS A X'00' FUNCTION WAS SUCCESSFULLY PROCESSED 2 * CLASS B X'01' - X'1F' PARAMETER SYNTAX ERROR 2 * CLASS C X'20' INTERNAL ERROR IN CALLED FUNCTION 2 * CLASS D X'40' - X'7F' NO CLASS SPECIFIC REACTION POSSIBLE 2 * CLASS E X'80' - X'82' WAIT AND RETRY 2 * 2 IDJGRFSP EQU X'00' FUNCTION SUCCESSFULLY PROCESSED 2 IDJGRPER EQU X'01' PARAMETER SYNTAX ERROR 2 * 3 GLOBALLY DEFINED ISL ERROR CODES IN CLASS X'01' - X'1F' 2 IDJGRFNS EQU X'01' CALLED FUNCTION NOT SUPPORTED 2 IDJGRFNA EQU X'02' CALLED FUNCTION NOT AVAILABLE 2 IDJGRVNA EQU X'03' INTERFACE VERSION NOT SUPPORTED 2 * 2 IDJGRAER EQU X'04' ALIGNMENT ERROR 2 IDJGRIER EQU X'20' INTERNAL ERROR 2 IDJGRCAR EQU X'40' CORRECT AND RETRY 2 * 2 GLOBALLY DEFINED ISL ERROR CODES IN CLASS X'40' - X'7F' 2 IDJGRECR EQU X'41' SUBSYSTEM (SS) MUST BE CREATED 2 * EXPLICITELY BY CREATE-SS 2 IDJGRECN EQU X'42' SS MUST BE EXPLICITELY CONNECTED 2 * 2 IDJGRWAR EQU X'80' WAIT FOR A SHORT TIME AND RETRY 2 IDJGRWLR EQU X'81' " LONG " 2 IDJGRWUR EQU X'82' WAIT TIME IS UNCALCULABLY LONG 2 * BUT RETRY IS POSSIBLE 2 * 2 GLOBALLY DEFINED ISL ERROR CODES IN CLASS X'80' - X'82' 2 IDJGRTNA EQU X'81' SS TEMPORARILY NOT AVAILABLE 2 IDJGRDH EQU X'82' SS IN DELETE / HOLD 2 * 2 IDJGMRET DS 0AL2 6 MAIN RETURN CODE 2 IDJGMR2 DS AL1 6 MAIN RETURN CODE 2 2 IDJGMR1 DS AL1 7 MAIN RETURN CODE 1 2 * 2 * SPECIAL LAYOUT OF LINKAGE_MAIN_RETURN_CODE (YYYY IN X'00XXYYYY') 2 * 2 IDJGRLNK EQU X'FFFF' LINKAGE ERROR / REQ. NOT PROCESSED 2 IDJGFHL EQU 8 8 GENERAL OPERAND LIST HEADER LENGTH 2 * 1 *********************************************************************** 1 * END OF STANDARD HEADER. START OF SPECIAL GETJV PARAMETER LIST * 1 *********************************************************************** 1 IDJGHDRI EQU X'00290002',4 1 IDJGAR31 DS A AREA ADDRESS(31 BIT FORMAT) 1 IDJGSIZE DS H AREA SIZE 1 IDJGJV DS CL54 JVNAME 1 IDJGPOS DS H SUBSTRING START POSITION 1 IDJGLEN DS H SUBSTRING LENGTH 1 IDJGPASS DS CL4 PASSWORD 1 DS XL12 1 IDJGFLAG DS X FLAGS 1 IDJGENCR EQU X'80' 7-7 0=YES, 1=NO 1 * (ENCRYPTION) 1 IDJGFGNV EQU X'40' 6-6 0=NO, 1=YES 1 * (NUMERIC-VALUE) 1 IDJGJVIX EQU X'20' 5-5 0=NO, 1=YES 1 * (JVID INDEXED (SUBSTRING) ) 1 IDJGP2 EQU X'10' 4-4 0=P1 CALLER,1=P2 CALLER 1 IDJGECT EQU X'08' 3-3 1=SET BY CMD PROCESSING 1 IDJGFGBV EQU X'04' 2-2 0=NO, 1=YES 1 * (BOOLEAN-VALUE) 1 IDJGNSTR EQU X'02' 1-1 0=NO, 1=YES 1 * (NULLSTRING DEFINED) 1 DS XL3 1 IDJGJVS DS A RESERVED 1 IDJGPLLN EQU *-GETJV LENGTH OF DSECT 1 *********************************************************************** 1 SPACE