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
Mit dem Makro CSWJV kann auf Programmebene ein bedingtes Setzen einer Jobvariablen durchgeführt werden (siehe auch Kommando MODIFY-JV-CONDITIONALLY).
Eine angegebene Jobvariable wird mit einem Feldinhalt verglichen. Bei Gleichheit wird die Jobvariable mit dem Inhalt eines anderen Feldes überschrieben, bei Ungleichheit wird der Jobvariablen-Wert in das Vergleichsfeld übertragen.
Die zu prüfende Jobvariable ist während der Bearbeitung durch den Makro gegen Zugriffe anderer Aufträge geschützt.
Makroaufrufformat und Operandenbeschreibung
Operation | Operanden |
|
|
jvid
identifiziert die zu prüfende oder zu setzende Jobvariable. jvid kann sein:
jvname | ein vollqualifizierter Pfadname einer permanenten oder temporären Jobvariablen |
*jvlink | ein gültiger Jobvariablen-Kettungsname |
start
gibt die Position des ersten zu prüfenden oder zu setzenden Bytes innerhalb des Jobvariablen-Wertes an.
Es gilt: 1 <=
start <=
256. Standardwert = 1.
länge
legt die Anzahl der zu prüfenden oder zu setzenden Bytes des Jobvariablen-Wertes fest. Die Summe aus start und länge darf höchstens 257 betragen. Ist länge nicht gegeben, gelten die in den jeweiligen Satzlängenfeldern von bereich1 und bereich2 eingetragenen Längen.
bereich1
symbolische Adresse des Vergleichsfeldes im Benutzerprogramm.
Format
|
|
<-4Byte-->
<- 1111=Gesamtlänge ----------------------->
Der aktuelle Wert der Jobvariablen jvid wird mit vergleichswert verglichen. Bei Ungleichheit wird vergleichswert mit dem Jobvariablen-Wert überschrieben (Returncode 0456 bzw. Meldung JVS0456).
bereich1
symbolische Adresse des Setzwertes der Jobvariablen.
Format
|
|
<-4Byte-->
<- 1111=Gesamtlänge ----------------------->
Ist der Jobvariablen-Wert von jvid gleich dem Vergleichswert in bereich1, wird der Jobvariablen-Wert durch setzwert überschrieben.
PASS=kennwort
ermöglicht die Eingabe des zum Schreibzugriff auf die Jobvariable erforderlichen Kennworts (siehe Makro CATJV). Ist die Jobvariable kennwortgeschützt und der Operand PASS nicht gegeben, muss das Kennwort mit dem Kommando ADD-PASSWORD (z.B. über den CMD-Makro) vor dem ersten Aufruf von CSWJV dem System bekannt gemacht werden.
MF=
PREFIX=
Zur Beschreibung der Operanden MF und PREFIX siehe "Der Operand MF ". 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/CSECT wird dabei nicht unterstützt (siehe Hinweis DSECT).
1
Die Makroauflösung entspricht JV >=
V10.0.
Hinweise zur DSECT
Der Aufruf des Makros CSWJV mit den Operanden MF=D und VERSION=1 erzeugt eine DSECT für die Operandenliste des CSWJV-Makros (VERSION=1).
Eine DSECT für den Makro mit VERSION=0 wird mit Aufruf des Makros IDJCS [D][,prefix] erzeugt.
Rückinformation und Fehleranzeigen
siehe Kapitel "Meldungen" - "Makroebene".
DSECT
CSWJV CSWJV MF=D,VERSION=1 1 *********************************************************************** 1 * VERSION 203 1 *********************************************************************** 1 * C S W J V P A R A M E T E R L I S T * 1 *********************************************************************** 1 #INTF REFTYPE=REQUEST, C 1 INTNAME=CSWJV,INTCOMP=001 1 CSWJV DSECT 1 *********************************************************************** 1 * UNIT=41, FUNCTION=5, VERSION=<PARAMETER VERSION> * 1 *********************************************************************** 1 FHDR MF=(C,IDJW) 2 DS 0A 2 IDJWFHE DS 0XL8 0 GENERAL PARAMETER AREA HEADER 2 * 2 IDJWIFID DS 0A 0 INTERFACE IDENTIFIER 2 IDJWFCTU 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 IDJWFCT DS AL1 2 FUNCTION NUMBER 2 IDJWFCTV DS AL1 3 FUNCTION INTERFACE VERSION NUMBER 2 * 2 IDJWRET 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 IDJWSRET DS 0AL2 4 SUB RETURN CODE 2 IDJWSR2 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 IDJWR2OK EQU X'00' All correct, no additional info 2 IDJWR2NA EQU X'01' Successful, no action was necessary 2 IDJWR2WA EQU X'02' Warning, particular situation 2 IDJWSR1 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 IDJWRFSP EQU X'00' FUNCTION SUCCESSFULLY PROCESSED 2 IDJWRPER EQU X'01' PARAMETER SYNTAX ERROR 2 * 3 GLOBALLY DEFINED ISL ERROR CODES IN CLASS X'01' - X'1F' 2 IDJWRFNS EQU X'01' CALLED FUNCTION NOT SUPPORTED 2 IDJWRFNA EQU X'02' CALLED FUNCTION NOT AVAILABLE 2 IDJWRVNA EQU X'03' INTERFACE VERSION NOT SUPPORTED 2 * 2 IDJWRAER EQU X'04' ALIGNMENT ERROR 2 IDJWRIER EQU X'20' INTERNAL ERROR 2 IDJWRCAR EQU X'40' CORRECT AND RETRY 2 * 2 GLOBALLY DEFINED ISL ERROR CODES IN CLASS X'40' - X'7F' 2 IDJWRECR EQU X'41' SUBSYSTEM (SS) MUST BE CREATED 2 * EXPLICITELY BY CREATE-SS 2 IDJWRECN EQU X'42' SS MUST BE EXPLICITELY CONNECTED 2 * 2 IDJWRWAR EQU X'80' WAIT FOR A SHORT TIME AND RETRY 2 IDJWRWLR EQU X'81' " LONG " 2 IDJWRWUR 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 IDJWRTNA EQU X'81' SS TEMPORARILY NOT AVAILABLE 2 IDJWRDH EQU X'82' SS IN DELETE / HOLD 2 * 2 IDJWMRET DS 0AL2 6 MAIN RETURN CODE 2 IDJWMR2 DS AL1 6 MAIN RETURN CODE 2 2 IDJWMR1 DS AL1 7 MAIN RETURN CODE 1 2 * 2 * SPECIAL LAYOUT OF LINKAGE_MAIN_RETURN_CODE (YYYY IN X'00XXYYYY') 2 * 2 IDJWRLNK EQU X'FFFF' LINKAGE ERROR / REQ. NOT PROCESSED 2 IDJWFHL EQU 8 8 GENERAL OPERAND LIST HEADER LENGTH 2 * 1 *********************************************************************** 1 * END OF STANDARD HEADER. START OF SPECIAL CSWJV PARAMETER LIST * 1 *********************************************************************** 1 IDJWHDRI EQU X'00290501',4 1 IDJWAREA DS A AREA 1 ADDRESS 1 IDJWARE2 DS A AREA 2 ADDRESS 1 IDJWJV DS CL54 JVNAME 1 IDJWPOS DS H SUBSTRING START POSITION 1 IDJWLEN DS H SUBSTRING LENGTH 1 DS XL2 RESERVED 1 IDJWPASS DS CL4 PASSWORD 1 DS XL12 RESERVED 1 IDJWFLAG DS X FLAGS 1 IDJWENCR EQU X'80' 7-7 0=YES, 1=NO 1 * (ENCRYPTION) 1 IDJWFGNV EQU X'00' 6-6 NOT USED (DEL. V12) 1 IDJWJVIX EQU X'20' 5-5 0=NO, 1=YES 1 * (JVID INDEXED (SUBSTRING) ) 1 IDJWFEX EQU X'10' 4-4 0=NO, 1=YES 1 * (PASSWORD GIVEN) 1 IDJWP2 EQU X'08' 3-3 0=P1 CALLER,1=P2 CALLER 1 DS XL3 RESERVED 1 IDJWJVS DS A RESERVED 1 IDJWPLLN EQU *-CSWJV LENGTH OF DSECT 1 *********************************************************************** 1 SPACE