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 STAJV überträgt die Merkmale einer Jobvariablen in einen Anwenderbereich, bzw. erstellt in diesem Bereich eine Namensliste von Jobvariablen.
Makroaufrufformat und Operandenbeschreibung
Operation | Operanden |
|
|
jvid
bezeichnet die Jobvariable, deren Merkmale in den Anwenderbereich übertragen werden. Sonder-Jobvariablen sind nicht möglich.
jvid kann sein:
jvname | ein voll- oder teilqualifizierter Pfadname einer permanenten oder temporären Jobvariablen. Die Verwendung von Musterzeichen (Wildcards) ist für Versionen > 0 zulässig. Nur mit der vollqualifizierten Angabe werden die Merkmale einer Jobvariablen in den Anwenderbereich übertragen, ansonsten wird eine Liste der Jobvariablennamen im Anwenderbereich abgelegt. Gibt ein Anwender eine fremde Benutzerkennung an, so werden nur die Namen der Jobvariablen in den Anwenderbereich übertragen, die laut Katalogeintrag einen fremden Zugriff gestatten. Dies ist SHARE=YES bzw. R oder W für GROUP bzw. OTHERS wenn ein BASIC-ACL-Schutz besteht. |
*jvlink | ein gültiger Jobvariablen-Kettungsname. |
temp | Eine Namensliste aller temporären Jobvariablen des Auftrags wird ausgegeben. temp steht für das mit dem Systemparameter TEMPFILE definierte Sonderzeichen zur Kennzeichnung von temporären Dateien und Jobvariablen (im Bedarfsfall die Systembetreuung fragen). |
bereich
Dieser Eintrag bezeichnet den Anwenderbereich, in den die Informationen übertragen werden sollen (siehe Funktionsweise).
größe
legt die Länge des Bereichs in Byte fest.
Bis zu VERSION=3 beträgt die maximale Länge 32767 Byte.
Die Länge des Bereichs ist abhängig vom Ausgabeformat:
OUTPUT=OLD :
größe
>=
60 Byte (Standardwert 60 Byte)
OUTPUT=NEW:
größe
>=
80 Byte (Standardwert 80 Byte);
bei Angabe von VERSION=2 (JV V10.0)größe
>=
120 Byte (Standardwert 120 Byte);
bei Angabe von VERSION=3 (JV V11.0 und V11.2)größe
>=
160 Byte (Standardwert 160 Byte);
bei Angabe von VERSION=4 (JV>=
V12.0)
OUTPUT=
gibt an, in welchem Format die Ausgabe für eine Jobvariable angefordert wird, deren Name vollqualifiziert angegeben ist.
Diese Angabe ist nur ab Version 2 und mit MF=L oder MF=S erlaubt.
OLD
ist Voreinstellung: Die angeforderte Information enthält nur den festen Teil des Katalogeintrags, aber ohne den Namen der Jobvariablen (60 Byte). Eine DSECT für dieses Ausgabeformat wird mit dem Makro IDJE erzeugt (siehe Hinweis DSECT).
NEW
Die Information wird im neuen Format angefordert.
Bei Angabe von VERSION=2 wird die Information im Layout von
JV V10.0 ausgegeben (>=
80 Byte).Bei Angabe von VERSION=3 wird die Information im Layout von
JV V11.0 bzw. JV V11.2 ausgegeben (>=
120 Byte).Bei Angabe von VERSION=4 wird die Information im Layout von
JV>=
V12.0 ausgegeben (>=
160 Byte).
LIST=
entscheidet über das Ausgabeformat im Anwenderbereich. Dieser Operand wirkt sich nur bei Version >=
1 und teilqualifizierter Angabe des Pfadnamens aus (siehe Abschnitt "Funktionsweise" weiter unten).
OLD
ist die Voreinstellung und bedeutet, dass das alte Ausgabeformat (ohne :catid:$userid.) unterstützt wird.
NEW
gibt den vollständigen Pfadnamen aus (mit :catid:$userid.).
TIMBASE
entscheidet über die Ausgabebasis von Erstellungs- und Löschungsdatum. Dieser Operand hat nur Auswirkungen, wenn VERSION=4 und OUTPUT=NEW angegeben sind.
*UTC
ist Voreinstellung: Die Zeitbasis ist die UTC-Zeit (Weltzeit)
*LTI
gibt an, dass die lokale Zeit im aufrufenden Rechnersystem als Zeitbasis verwendet wird.
ODSECT=
gibt an, für welches Ausgabeformat eine DSECT zu erzeugen ist.
Angabe nur mit MF=D erlaubt.
NO
ist Voreinstellung: Die DSECT für das alte Ausgabeformat kann mit dem Makro IDJE erzeugt werden (siehe OUTPUT=OLD).
YES
Die DSECT wird für das neue Ausgabeformat (80/120/160 Byte; siehe OUTPUT=NEW) erzeugt.
SELADDR=
beschränkt die Menge der Jobvariablen, die durch den voll- bzw. teilqualifizierten Pfadnamen jvid angegeben ist, durch weitere Auswahlkriterien. Ohne Angabe des Operanden wird das Feld IDJFJVS auf Null gesetzt und es findet keine weitere Selektion statt.
Die Angabe ist nur möglich bei Version >=
2.
auswahl
symbolische Adresse der Parameterliste, die durch Aufruf des
JVSEL-Makros (siehe "JVSEL JV-Auswahl des STAJV-Makros auf bestimmte Merkmale beschränken") mit den gewünschten Auswahlkriterien erzeugt wurde. Siehe auch Abschnitt "Funktionsweise" weiter unten.
SORT=
bestimmt die Sortierung der Katalogeinträge/Pfadnamen in der Ausgabe.
*JVNAM
ist Voreinstellung: Die Katalogeinträge/Pfadnamen werden alphabetisch sortiert ausgegeben.
NO
Die Katalogeinträge/Pfadnamen werden in der Reihenfolge ausgegeben, wie sie im Katalog stehen.
MF=
PREFIX=
Zur Beschreibung der Operanden MF und PREFIX siehe .
Die gültigen Werte sind zu Beginn der Makrobeschreibung dargestellt und aus dem Aufrufformat ersichtlich. Der Operand MF=D/C zur Erzeugung einer DSECT bzw. CSECT wird erst ab VERSION=2 unterstützt (siehe Hinweis DSECT).
VERSION=
legt fest, welcher Version die Makroauflösung entsprechen soll.
0
ist Voreinstellung: Die Makroauflösung entspricht dem Stand JV <
V8.7. In dieser Version werden folgende Angaben noch nicht unterstützt:
MF=C/D (siehe Hinweis DSECT)
LIST=NEW
OUTPUT=NEW
SELADDR=
1
Die Makroauflösung entspricht dem Stand JV V8.7. In dieser Version werden folgende Angaben noch nicht unterstützt:
MF=C/D (siehe Hinweis DSECT)
OUTPUT=NEW
SELADDR=
2
Die Makroauflösung entspricht dem Stand JV V10.0.
3
Die Makroauflösung entspricht dem Stand JV V11.0 und V11.2.
4
Die Makroauflösung entspricht dem Stand JV >=
V12.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.
Funktionsweise
Bei Angabe eines vollqualifizierten Jobvariablen-Namens werden die Kontrollinformationen aus dem Jobvariablen-Katalogeintrag in den angegebenen Bereich übertragen. Der Operand OUTPUT bestimmt dabei das Format der Ausgabe.
Die DSECT für den Katalogeintrag kann mit MF=D erzeugt werden. Das Kennwortfeld wird auf binär null gesetzt. Ist der angegebene Bereich zu klein um die Informationen aufzunehmen, so erhält das Programm den Returncode X’0490’ in den rechten beiden Bytes von Register 15.
Wird der Jobvariablen-Name nicht vollqualifiziert angegeben (teilqualifiziert oder mit Musterzeichen) oder wird das Sonderzeichen für temporäre Jobvariablen angegeben, wird eine Liste der Jobvariablen-Namen in den angegebenen Bereich übertragen. Das Format der übertragenen Information ist abhängig von der Angabe im Operanden LIST:
LIST=OLD(jvname ohne catid, userid) | LIST=NEW(jvname mit catid, userid) | |
---|---|---|
namenslänge 1 | 1 Byte | 1 Byte |
jvname1 | 1 - 41 Zeichen |
|
... | ||
namenslänge n | 1 Byte | 1 Byte |
jvname n | 1 - 41 Zeichen | 14-54 Zeichen |
Ende | 1 Byte(X'00'/X'01') | 1 Byte(X'00'X'01') |
„namenslänge“ bezeichnet die Länge des zugehörigen Jobvariablen-Namens (plus ein Zeichen Längenfeld). Das ordnungsgemäße Ende der Liste wird durch X’00’ gekennzeichnet. Ist der Bereich nicht ausreichend, um alle Jobvariablen-Namen aufzunehmen, so wird das letzte Byte auf X’01’ gesetzt.
Bei Angabe eines teilqualifizierte Jobvariablen-Namens wird in der Parameterliste des STAJV-Aufrufs zusätzlich ein entsprechender Wert zurückgegeben (IDJPQFN=X’20’).
Zusätzliche Selektion der Jobvariablen
Die Menge der zu übertragenden Jobvariablen-Namen kann auf Jobvariablen mit bestimmten Eigenschaften beschränkt werden. Bei der Angabe eines vollqualifizierten Jobvariablen-Namens kann das Übertragen der Kataloginformationen von bestimmten Eigenschaften abhängig gemacht werden.
Die gewünschten Auswahlkriterien werden in einem JVSEL-Makroaufruf spezifiziert. Im STAJV-Aufruf muss dann im Operanden SELADDR die symbolische Adresse der erzeugten JVSEL-Parameterliste angegeben werden. Wird SELADDR nicht angegeben, wird das Feld IDJFJVS auf Null gesetzt (X’00000000’=keine Auswahl nach Selektionskriterien).
Hinweis
Werden keine Operanden angegeben, so wird eine Liste aller Jobvariablen ausgegeben, die im Standard-Katalog der Benutzerkennung stehen, unter der auch der Auftrag abläuft.
Hinweise zur DSECT
Der Aufruf des Makros STAJV mit den Operanden MF=D und VERSION=2/3/4 erzeugt eine DSECT für die Operandenliste des STAJV-Makros (VERSION=2/3/4). Mit der Angabe ODSECT=YES wird zusätzlich eine DSECT für die Ausgabe eines Katalogeintrages erzeugt.
Für VERSION=0 bzw. VERSION=1 gilt:
Der Makroaufruf IDJE [D][,prefix] erzeugt eine CSECT/DSECT für den Katalogeintrag.
Der Makroaufruf IDJST [D][,prefix][,PARMOD=24/31][,VERSION=0/1] erzeugt eine CSECT/DSECT für die Operandenliste des STAJV-Makros.
Rückinformation und Fehleranzeige
siehe Abschnitt "Makroebene".
DSECT
STAJV STAJV MF=D,VERSION=4,ODSECT=YES 1 *********************************************************************** 1 * VERSION 400 1 *********************************************************************** 1 * S T A J V P A R A M E T E R L I S T * 1 *********************************************************************** 1 #INTF REFTYPE=REQUEST, C 1 INTNAME=STAJV,INTCOMP=005 1 STAJV DSECT 1 *********************************************************************** 1 * UNIT=41, FUNCTION=2, VERSION=<PARAMETER VERSION> * 1 *********************************************************************** 1 FHDR MF=(C,IDJF) 2 DS 0A 2 IDJFFHE DS 0XL8 0 GENERAL PARAMETER AREA HEADER 2 * 2 IDJFIFID DS 0A 0 INTERFACE IDENTIFIER 2 IDJFFCTU 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 IDJFFCT DS AL1 2 FUNCTION NUMBER 2 IDJFFCTV DS AL1 3 FUNCTION INTERFACE VERSION NUMBER 2 * 2 IDJFRET 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 IDJFSRET DS 0AL2 4 SUB RETURN CODE 2 IDJFSR2 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 IDJFR2OK EQU X'00' All correct, no additional info 2 IDJFR2NA EQU X'01' Successful, no action was necessary 2 IDJFR2WA EQU X'02' Warning, particular situation 2 IDJFSR1 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 IDJFRFSP EQU X'00' FUNCTION SUCCESSFULLY PROCESSED 2 IDJFRPER EQU X'01' PARAMETER SYNTAX ERROR 2 * 3 GLOBALLY DEFINED ISL ERROR CODES IN CLASS X'01' - X'1F' 2 IDJFRFNS EQU X'01' CALLED FUNCTION NOT SUPPORTED 2 IDJFRFNA EQU X'02' CALLED FUNCTION NOT AVAILABLE 2 IDJFRVNA EQU X'03' INTERFACE VERSION NOT SUPPORTED 2 * 2 IDJFRAER EQU X'04' ALIGNMENT ERROR 2 IDJFRIER EQU X'20' INTERNAL ERROR 2 IDJFRCAR EQU X'40' CORRECT AND RETRY 2 * 2 GLOBALLY DEFINED ISL ERROR CODES IN CLASS X'40' - X'7F' 2 IDJFRECR EQU X'41' SUBSYSTEM (SS) MUST BE CREATED 2 * EXPLICITELY BY CREATE-SS 2 IDJFRECN EQU X'42' SS MUST BE EXPLICITELY CONNECTED 2 * 2 IDJFRWAR EQU X'80' WAIT FOR A SHORT TIME AND RETRY 2 IDJFRWLR EQU X'81' " LONG " 2 IDJFRWUR 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 IDJFRTNA EQU X'81' SS TEMPORARILY NOT AVAILABLE 2 IDJFRDH EQU X'82' SS IN DELETE / HOLD 2 * 2 IDJFMRET DS 0AL2 6 MAIN RETURN CODE 2 IDJFMR2 DS AL1 6 MAIN RETURN CODE 2 2 IDJFMR1 DS AL1 7 MAIN RETURN CODE 1 2 * 2 * SPECIAL LAYOUT OF LINKAGE_MAIN_RETURN_CODE (YYYY IN X'00XXYYYY') 2 * 2 IDJFRLNK EQU X'FFFF' LINKAGE ERROR / REQ. NOT PROCESSED 2 IDJFFHL EQU 8 8 GENERAL OPERAND LIST HEADER LENGTH 2 * 1 *********************************************************************** 1 * END OF STANDARD HEADER. START OF SPECIAL STAJV PARAMETER LIST * 1 *********************************************************************** 1 IDJFHDRI EQU X'00290205',4 1 IDJAR31 DS F AREA ADDRESS(31 BIT FORMAT) 1 IDJSIZE DS F AREA SIZE 1 IDJFLAGS DS X FLAGS 1 IDJPASSW EQU X'00' 7-7 S NOT USED (DEL. V9.5) 1 IDJNAREA EQU X'40' 6-6 S ADDR NOT GIVEN 1 * SET BY JVSTAEX 1 IDJPQFN EQU X'20' 5-5 S PART. QUAL. JVNAME 1 * SET BY JVSTAEX 1 * FOR CMD PROCESSING 1 IDJFECT EQU X'10' 4-4 S SET BY CMD PROCESSING 1 IDJLNEW EQU X'08' 3-3 S OUTPUT JVNAME LONG 1 IDJFCE EQU X'04' 2-2 S NEW CE OUTPUT V10 1 IDJFP2 EQU X'02' 1-1 S P2 CALLER 1 IDJFCE11 EQU X'01' 0-0 S NEW CE OUTPUT V11 1 IDJFLAG1 DS X FLAGS 1 IDJFCE12 EQU X'80' 7-7 S NEW CE OUTPUT V12 1 IDJFTLTI EQU X'40' 6-6 S TIME-BASE = LOCAL 1 IDJFSORT EQU X'20' 5-5 S SORT = NO 1 DS X RESERVED 1 DS CL16 RESERVED 1 IDJFJV DS CL80 JV-NAME 1 DS CL41 RESERVED 1 * * * * * * * * * * * * * * * * * * * * * * * * * * * * 1 * THE FOLLOWING FIELD IS USED ONLY FOR CMD PROCESSING * 1 * * * * * * * * * * * * * * * * * * * * * * * * * * * * 1 IDJSRTAD DS A ADDRESS OF JVNAME 1 IDJFJVS DS A ADDRESS OF SELECTION PL 1 IDJFPLLN EQU *-STAJV LENGTH OF DSECT 1 SPACE 1 *********************************************************************** 1 * S T A J V O U T P U T * 1 *********************************************************************** 1 IDJES DSECT 1 IDJEDMS DS CL1 0 DMS INDICATOR 1 IDJESJV EQU X'04' S SHARE = YES 1 IDJEROA EQU X'08' S READ ONLY ACCESS 1 IDJERPP EQU X'10' S READ PASSWORD SPECIFIED 1 IDJEWPP EQU X'20' S WRITE PASSWORD SPECIFIED 1 IDJEDM2 DS CL1 1 DMS INDICATOR2 1 IDJENSH EQU X'80' S NON-SHARE FLAG 1 IDJECON EQU X'40' S CONVERTED CE 1 IDJENCR EQU X'01' S PASSWORD IS ENCRYPTED 1 IDJERD DS CL4 2 READ PASSWORD 1 IDJEWRT DS CL4 6 WRITE PASSWORD 1 IDJECRD DS 0CL14 10 CREATION DATE 1 IDJECRY DS CL4 YEAR 1 IDJECRM DS CL2 MONTH 1 IDJECRT DS CL2 DAY 1 IDJECRH DS CL2 HOURS 1 IDJECRI DS CL2 MINUTES 1 IDJECRS DS CL2 SECONDS 1 IDJEEXD DS 0CL14 24 EXPIRATION DATE 1 IDJEEXY DS CL4 YEAR 1 IDJEEXM DS CL2 MONTH 1 IDJEEXT DS CL2 DAY 1 IDJEEXH DS CL2 HOURS 1 IDJEEXI DS CL2 MINUTES 1 IDJEEXS DS CL2 SECONDS 1 IDJEACL DS CL1 38 ACCESS CONTROL LIST 1 IDJEMAC EQU X'80' S BASIC ACL PRESENT 1 IDJEGACT EQU X'40' S GUARD PRESENT 1 IDJEURD EQU X'20' S USER: READ-PRIVILEG 1 IDJEUWR EQU X'10' S USER: WRITE-PRIVILEG 1 IDJEGRD EQU X'08' S GROUP: READ-PRIVILEG 1 IDJEGWR EQU X'04' S GROUP: WRITE-PRIVILEG 1 IDJEORD EQU X'02' S OTHERS: READ-PRIVILEG 1 IDJEOWR EQU X'01' S OTHERS: WRITE-PRIVILEG 1 IDJEDIV DS CL1 39 ADDITIONAL CHARASTERISTICS 1 IDJETYP EQU X'80' S NUMERIC-TYPE 1 IDJEMJV EQU X'40' S MONJV 1 IDJETEMP EQU X'20' S TEMPORARY INDICATOR 1 IDJENSTD EQU X'10' S NULL STRING DEFINED 1 IDJEBLID EQU X'08' S BOOLEAN-TYPE 1 IDJECAT DS CL4 40 GUARD: CATID 1 IDJEREAD DS CL18 44 GUARD: READ 1 IDJEWRIT DS CL18 62 GUARD: WRITE 1 IDJEMANC DS CL8 80 MANAGEMENT CLASS 1 IDJEVLL DS CL2 88 JV VALUE LENGTH 1 IDJECLN DS CL1 90 CATID LENGTH 1 IDJEULN DS CL1 91 USERID LENGTH 1 IDJEJLN DS CL1 92 JV NAME LENGTH 1 IDJEPLN DS CL1 93 PATHNAME LENGTH 1 IDJENAM DS CL54 94 JV NAME 1 DS CL12 148 RESERVED 1 IDJELEN EQU *-IDJEDMS LENGTH OF FIXED PORTION 1 *********************************************************************** 1 SPACE