Allgemeines
Anwendungsgebiet: | Abfragen und Zugriff zu Listen und Tabellen; siehe "Abfragen und Zugriff zu Listen und Tabellen" |
Makrotyp: | S-Typ, MF-Format 3: D-/C-/E-/L-/M-Form; siehe "S-Typ-Makroaufrufe" |
Für jeden Anwender (jede Benutzerkennung) wird von einem Benutzerverwalter ein Eintrag im Benutzerkatalog angelegt. Der Eintrag enthält u.a.:
Benutzerkennung, Passwortberechtigung
Angaben zu Systemressourcen, die der Anwender in Anspruch nehmen kann(CPU-Zeit, Speicherplatz,...)
besondere Rechte des Anwenders (privilegierter Zugriff,...)
Daten für die Abrechnung (Accounting)
Versandinformationen (Mail- und E-Mail-Adressen)
Makrobeschreibung
Der Makro SRMUINF liest Daten aus dem Benutzerkatalog und überträgt sie in einen vorher spezifizierten Bereich. Je nach Angabe werden die Daten für die Abrechnung (Accounting), die anwenderspezifischen Daten oder der gesamte Eintrag einer Kennung aus dem Benutzerkatalog ausgegeben. Es ist zu unterscheiden:
Makroaufruf unter der Kennung des nichtprivilegierten Benutzers:Es werden nur Daten des eigenen Eintrages ausgegeben.
Makroaufruf unter der Kennung eines Benutzerverwalters (standardmäßig die Benutzerkennung TSOS oder bei Einsatz des Software-Produkts SECOS eine Benutzerkennung mit dem Privileg USER-ADMINISTRATION):
Ausgabe der Daten des eigenen Eintrags
Ausgabe der Daten weiterer Anwender (einzeln für jeden beliebigen Anwender oder der Reihe nach für mehrere Anwender)
Makroaufruf unter der Kennung eines Benutzergruppenverwalters (nur möglich, wenn das Software-Produkt SECOS eingesetzt wird). Es können nur Daten eines lokalen Pubsets ausgegeben werden:
Ausgabe der Daten des eigenen Eintrags
Ausgabe der Daten weiterer Anwender, die zur Gruppe bzw. einer Untergruppe des Benutzergruppenverwalters gehören
Makroaufrufformat und Operandenbeschreibung
SRMUINF |
INFO=*USER / *ALL / *ACCOUNT / *POSIX / *EMAIL / *ALL_EMAIL / adr / (r) [,AREA@=adr / (r)] [,AREA#=länge / adr / (r)] ,USERID=*OWN / *FIRST / 'userid' / adr / (r) ,PVS=*HOME / 'catid' / adr / (r) ,ACTION=*READ / *READNXT / *READSEQ / adr / (r) ,XPAND={PARAM / OUTPUT,DATA={ALL / USER / ACCOUNT / POSIX / EMAIL / ALL_EMAIL} } ,MF=D / C / L / M / E [,PARAM=adr / (r)] ,PREFIX=S / p ,MACID=RMV / macid |
In der nachfolgenden Operandenbeschreibung sind die Operanden alphabetisch geordnet.
ACTION=
gibt an, ob zu der angegebenen oder der darauf folgenden Benutzerkennung Daten aus dem Benutzerkatalog gelesen werden sollen.
*READ
Der Eintrag für die angegebene Benutzerkennung wird aus dem Benutzerkatalog gelesen.
*READNXT
Es wird der Eintrag aus dem Benutzerkatalog gelesen, der der angegebenen Benutzerkennung folgt.
Dieser Wert kann nur unter der Kennung eines Benutzerverwalters mit dem Systemprivileg „USER-ADMINISTRATION“ angegeben werden (dieses Systemprivileg ist standardmäßig der Benutzerkennung TSOS oder bei Einsatz des Software-Produkts SECOS einer entsprechend privilegierten Benutzerkennung zugeordnet).
*READSEQ
Es wird der Eintrag aus dem Benutzerkatalog gelesen, der der angegebenen Benutzerkennung folgt. Zusätzlich wird die Benutzerkennung, deren Eintrag gelesen wurde, in die Parameterliste als Operand USERID eingetragen.
adr
symbolische Adresse (Name) des Feldes mit der Information, welcher Eintrag aus dem Benutzerkatalog übergeben werden soll.
Diese Angabe ist nur zusammen mit MF=M erlaubt.
(r)
r = Register mit dem Adresswert, an dem der Operandenwert des Operanden ACTION steht. Diese Angabe ist nur zusammen mit MF=M erlaubt.
AREA@=
bezeichnet die Adresse eines Ausgabebereichs, in den die Daten aus dem Benutzerkatalog übertragen werden.
adr
symbolische Adresse (Name) des Bereichs.
(r)
r = Register mit dem Adresswert, an dem die Ausgabe erfolgen soll. Diese Angabe ist nur zusammen mit MF=M erlaubt.
AREA#=
gibt die Länge des Ausgabebereiches an. Die Mindestlänge ist von der Menge der auszugebenden Informationen abhängig. Die Menge wird durch den Operanden INFO bestimmt. Bei unzureichender Längenangabe wird der Eintrag abgeschnitten (Returncode aa = X'10').
länge
ganzzahliger Wert, der die Länge des Ausgabebereiches in Byte angibt. länge kann die Werte 0, 1, ..., 4096 annehmen.
adr
symbolische Adresse (Name) eines Feldes, das die Länge des Ausgabebereiches enthält. Diese Angabe ist nur zusammen mit MF=M erlaubt.
(r)
r = Register mit dem Adresswert, an dem die Länge des Ausgabebereiches steht. Diese Angabe ist nur zusammen mit MF=M erlaubt.
DATA=
steuert die Beschreibung von spezifischen Ausgabebereichen. Der Operand wird nur bei Angabe von XPAND=OUTPUT ausgewertet.
ALL
Der vollständige Eintrag für die angegebene Benutzerkennung wird beschrieben, jedoch ohne den EMAIL- und POSIX-spezifischen Teil.
USER
Der anwenderspezifische Teil (Anwenderteil ohne Abrechnungsnummern) des Eintrags für die angegebene Benutzerkennung wird beschrieben.
ACCOUNT
Der abrechnungsspezifische Teil (nur Abrechnungsnummern) des Eintrags für die angegebene Benutzerkennung wird beschrieben.
POSIX
Der POSIX-spezifische Teil des Eintrags für die angegebene Benutzerkennung wird beschrieben.
EMAIL
Der EMAIL-spezifische Teil des Eintrags für die angegebene Benutzerkennung wird beschrieben.
ALL_EMAIL
Der vollständige Eintrag mit EMAIL-spezifischem Teil für die angegebene Benutzerkennung wird beschrieben, jedoch ohne den POSIX-spezifischen Teil.
INFO=
gibt die Menge der zu übertragenden Daten aus dem Eintrag des Benutzerkatalogs an.
*USER
Es werden nur die anwenderspezifischen Daten übertragen.
*ALL
Es wird der vollständige Eintrag übertragen, jedoch ohne den EMAIL- und POSIX-spezifischen Teil.
*ACCOUNT
Es werden nur die abrechnungsspezifischen Daten übertragen.
*POSIX
Es werden die POSIX-spezifischen Daten übertragen. Die selben Daten werden mit dem Kommando SHOW-POSIX-USER-ATTRIBUTES ausgegeben.
*EMAIL
Es wird der Bereich mit den Empfängeradressen für E-Mails übertragen.
*ALL_EMAIL
Es wird der vollständige Eintrag und der Bereich mit den Empfängeradressen für E-Mails übertragen, jedoch nicht der POSIX-spezifische Teil.
adr
symbolische Adresse (Name) eines Feldes, das die Information enthält, welche Menge von Daten übertragen werden sollen. Diese Angabe ist nur zusammen mit MF=M erlaubt.
(r)
r = Register mit dem Adresswert, an dem der Operandenwert des Operanden INFO steht. Diese Angabe ist nur zusammen mit MF=M erlaubt.
MF=
Zur allgemeinen Beschreibung des Operanden MF, der dazugehörenden Operandenwerte und der evtl. nachfolgenden Operanden (z.B. PREFIX, MACID und PARAM) siehe Abschnitt „S-Typ-Makroaufrufe“ und aus dem Aufrufformat ersichtlich.
Bei der C-Form, D-Form oder M-Form des Makroaufrufs kann ein Präfix PREFIX und bei der C-Form oder M-Form zusätzlich eine Macid MACID angegeben werden (siehe Abschnitt „S-Typ-Makroaufrufe“).
PVS=
bezeichnet den PVS (Public Volume Set; „Pubset“), von dem ein Eintrag aus dem Benutzerkatalog gelesen werden soll.
*HOME
Der gewünschte Eintrag ist im Benutzerkatalog des HOME-Pubset enthalten.
'catid'
catid = Katalogkennung des PVS, der den Benutzerkatalog mit dem gewünschten Eintrag enthält.
Maximale Länge der Zeichenkette catid = 4 Zeichen.
adr
symbolische Adresse (Name) eines 4 Byte langen Feldes, das die catid enthält. Kürzere catids sind mit Leerzeichen aufzufüllen. Diese Angabe ist nur zusammen mit MF=M erlaubt.
(r)
r = Register mit dem Adresswert, an dem die 4 Byte lange catid steht. Kürzere catids sind mit Leerzeichen aufzufüllen. Diese Angabe ist nur zusammen mit MF=M erlaubt.
USERID=
bezeichnet die Benutzerkennung, deren Eintrag aus dem angegebenen Benutzerkatalog angefordert wird.
*OWN
Es wird der Eintrag der eigenen Benutzerkennung (Benutzerkennung des Aufrufers) ausgegeben.
*FIRST
Es wird der erste Eintrag des angegebenen Benutzerkatalogs ausgegeben.
Der Wert darf nur zusammen mit dem Operanden ACTION=*READNXT und der dazugehörenden Privilegierung aufgerufen werden.
'userid'
userid = Benutzerkennung.
Maximale Länge der Zeichenkette userid = 8 Zeichen.
Welche Benutzerkennungen angegeben werden dürfen, hängt von den Privilegien des Aufrufers ab. Folgende Fälle sind zu unterscheiden:
Aufrufer ist ein nichtprivilegierter Benutzer:Zulässig ist nur die eigene Benutzerkennung.
Aufrufer ist ein Benutzergruppenverwalter (nur möglich bei Einsatz des Software-Produkts SECOS):
Erlaubt ist jede Benutzerkennung aus der Benutzergruppe des Aufrufers oder einer darunter liegenden Gruppe.
Aufrufer arbeitet als Benutzerverwalter mit dem Systemprivileg „USER-ADMINIST-RATION“ (standardmäßig die Benutzerkennung TSOS oder bei Einsatz des Soft-ware-Produkts SECOS die entsprechend privilegierte Benutzerkennung):Zulässig ist jede Benutzerkennung auf dem angegebenen PVS.
adr
symbolische Adresse (Name) eines 8 Byte langen Feldes, das die userid enthält. Diese Angabe ist nur zusammen mit MF=M erlaubt.
(r)
r = Register mit dem Adresswert von adr. Diese Angabe ist nur zusammen mit MF=M erlaubt.
XPAND=
bestimmt, welcher Datenbereich bearbeitet werden soll.
PARAM
Es wird der Aufruf-Datenbereich bearbeitet.
OUTPUT
Es wird die Ausgabe eines speziellen Ausgabebereiches gewünscht. Der Operand DATA muss angegeben werden. Er bestimmt das Ausgabelayout der gewünschten Informationen.
Rückinformation und Fehleranzeigen
Standardheader:
+---------------+ | | | | | | | |b|b| | |a|a| +---------------+
Über die Ausführung des Makros SRMUINF wird im Standardheader folgender gegliederter Returncode übergeben (aa=primärer RC, bb=sekundärer RC):
X'bb' | X'aa' | Erläuterung |
X'00' | X'00' | Normale Ausführung. |
X'01' | X'04' | Operandenfehler oder unzureichende Privilegierung. |
X'00' | X'08' | Es existiert kein Eintrag unter dieser Kennung. |
X'80' | X'0C' | Auf den Pubset (PVS) kann nicht zugegriffen werden. |
X'00' | X'10' | Der Eintrag für die Benutzerkennung wurde nicht vollständig ausgegeben |
Weitere Returncodes, deren Bedeutung durch Konvention makroübergreifend festgelegt ist, können der Tabelle „Standard-Returncodes“ (Standardheader) entnommen werden.
Layout der DSECT (1)
SRMUINF MF=D,PREFIX=A 1 STACK PRINT 1 PRINT NOGEN 2 *,##### PREFIX=A, MACID=RMV ##### 1 #INTF REFTYPE=REQUEST,INTNAME=SRMUINF,INTCOMP=001 1 ARMVPL DS 0F BEGIN of PARAMETERAREA 1 FHDR MF=(C,ARMV),EQUATES=NO 2 DS 0A 2 ARMVFHE DS 0XL8 0 GENERAL PARAMETER AREA HEADER 2 * 2 ARMVIFID DS 0A 0 INTERFACE IDENTIFIER 2 ARMVFCTU 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 ARMVFCT DS AL1 2 FUNCTION NUMBER 2 ARMVFCTV DS AL1 3 FUNCTION INTERFACE VERSION NUMBER 2 * 2 ARMVRET DS 0A 4 GENERAL RETURN CODE 2 ARMVSRET DS 0AL2 4 SUB RETURN CODE 2 ARMVSR2 DS AL1 4 SUB RETURN CODE 2 2 ARMVSR1 DS AL1 5 SUB RETURN CODE 1 2 ARMVMRET DS 0AL2 6 MAIN RETURN CODE 2 ARMVMR2 DS AL1 6 MAIN RETURN CODE 2 2 ARMVMR1 DS AL1 7 MAIN RETURN CODE 1 2 ARMVFHL EQU 8 8 GENERAL OPERAND LIST HEADER LENGTH 2 * 1 * ADDITIONAL MAIN RETURN-CODES: 1 * 1 ARMVMOK EQU 0 REQUEST SERVICED 1 ARMVPAER EQU 4 PARAMETER ERROR 1 ARMVENFO EQU 8 ENTRY NOT FOUND 1 ARMVPNAC EQU 12 PVS NOT ACCESSIBLE 1 ARMVRSER EQU 16 RESOURCE NOT AVAILABLE 1 * 1 DS XL4 UNUSED 1 ARMVUSRD DS CL8 USERID SPECIFIED 1 ARMVINFO DS AL1 INFO-TYPE 1 ARMVIALL EQU 1 ALL REQUIRED 1 ARMVIUSR EQU 2 USER INFO REQUIRED 1 ARMVIACI EQU 3 ACCOUNT INFO REQUIRED 1 ARMVIPOS EQU 4 POSIX INFO REQUIRED 1 ARMVIEMA EQU 5 EMAIL INFO REQUIRED 1 ARMVIAEM EQU 6 ALL&EMAIL INFO REQUIRED 1 ARMVACOD DS AL1 ACTION CODE
1 ARMVACRD EQU 1 READ 1 ARMVACRN EQU 2 READ NEXT 1 ARMVPVS DS CL4 PVS CATID 1 ARMVHOME EQU C'#' PVS IS HOME 1 DS CL4 FOR CAT-ID EXTENSION 1 DS XL2 UNUSED1 1 ARMVARE@ DS A AREA ADDRESS 1 ARMVARE# DS AL2 AREA LENGTH 1 DS XL2 UNUSED2 1 * 1 ARMVPL# EQU *-ARMVPL P/L LENGTH
Layout der DSECT (2)
SRMUINF MF=D,XPAND=OUTPUT,DATA=ALL_EMAIL 1 STACK PRINT 1 PRINT NOGEN 2 *,##### PREFIX=S, MACID=RMV ##### 1 *************************************************************** 1 * INFORMATION ON JOB * 1 *************************************************************** 1 SRMVJOB DS 0F 1 SRMVUSER DS CL8 USER-IDENTIFICATION 1 SRMVSVR DS CL1 SEVER INDICATOR 1 SRMVSVRY EQU 1 - USERID HAS BEEN SEVERED 1 SRMVSVRN EQU 2 - USERID NOT SEVERED 1 SRMVPVG DS CL1 USER PRIVILEGE CODE 1 SRMVPVGA EQU 1 - SYSTEM ADMINISTRATOR 1 SRMVPVGN EQU 2 - NORMAL USER 1 SRMVPASS DS CL8 USER'S PASSWORD 1 SRMVENCR DS CL1 PASSWORD-ENCRYPTION 1 SRMVENUN EQU 0 - UNDEFINED 1 SRMVENNO EQU 1 - NO ENCRYPTION 1 SRMVESCA EQU 2 - ENCRYPT-MODE SCA 1 SRMVEOLD EQU 3 - ENCRYPT-MODE OLD 1 SRMVENOP EQU 4 - NO PASSWORD 1 DS XL1 NOT USED 1 SRMVJOB# EQU *-SRMVJOB LENGTH OF JOB PART 1 *************************************************************** 1 * INFORMATION ON DMS * 1 *************************************************************** 1 SRMVDMSD DS 0F 1 SRMVSPLI DS F SPACE LIMIT 1 SRMVSPUS DS F SPACE USED 1 DS XL2 RESERVED 1 SRMVIPSE DS CL1 PUBLIC SPACE EXCESS IND 1 SRMVIPEN EQU 1 - NOT PERMITTED
1 SRMVIPET EQU 2 - TEMPORARY 1 SRMVIPEY EQU 3 - PERMITTED 1 SRMVTPIG DS CL1 TPIGNORE INDICATOR 1 SRMVTPIY EQU 1 - YES : ERROR MESSAGES IGNORED 1 SRMVTPIN EQU 2 - NO : NO TPIGNORE PRIVILEGE 1 SRMVTPIR EQU 3 - READ: ERROR MSG IGNORED-INPU 1 SRMVTPIB EQU 4 - BLP : BY-PASS-LABEL 1 SRMVTPIA EQU 5 - ALL : BLP AND YES PRIVILEGES 1 SRMVDFCT DS CL4 DEFAULT CAT-ID OF PVS 1 DS CL4 NOT USED 1 SRMVTSPL DS F TEMP SPACE LIMIT 1 SRMVTSPU DS F TEMP SPACE USED 1 SRMVFILI DS F FILE LIMIT 1 SRMVFILA DS F FILE AMOUNT 1 SRMVJVLI DS F JV LIMIT 1 SRMVJVA DS F JV AMOUNT 1 SRMVEXHC DS CL8 EXTENDED HOST CODE 1 SRMVDMTR DS X DMS TUNING RESOURCES 1 SRMVDTRN EQU 1 NONE 1 SRMVDTRP EQU 2 PAGEABLE 1 SRMVDTRR EQU 3 RESIDENT 1 SRMVPAL DS X PHYSICAL ALLOCATION 1 SRMVPALN EQU 1 NOT-ALLOWED 1 SRMVPALA EQU 2 ALLOWED 1 DS XL2 UNUSED 1 SRMVUS1L DS F S1 LEVEL USED 1 SRMVUS2L DS F S2 LEVEL USED 1 SRMVDMCL DS CL8 DEFAULT MANAGEMENT CLASS 1 SRMVDSCL DS CL8 DEFAULT STORAGE CLASS 1 * PERM SPACE LIMIT 1 SRMVLTOT DS F TOTAL SPACE 1 SRMVLSTD DS F S0 LEVEL SPACE 1 SRMVLSHP DS F HIGH PERF SPACE 1 SRMVLSVP DS F VERY HIGH PERF SPACE 1 SRMVLSHA DS F HIGH AVAIL SPACE 1 * TEMP SPACE LIMIT 1 SRMVLTMP DS F TOTAL SPACE 1 SRMVLTHP DS F HIGH PERF SPACE 1 SRMVLTVP DS F VERY HIGH PERF SPACE 1 * WORK SPACE LIMIT 1 SRMVLWRK DS F TOTAL SPACE 1 SRMVLWHP DS F HIGH PERF SPACE 1 SRMVLWVP DS F VERY HIGH PERF SPACE 1 * PERM SPACE USED 1 SRMVUTOT DS F TOTAL SPACE 1 SRMVUSTD DS F S0 LEVEL SPACE 1 SRMVUSHP DS F HIGH PERF SPACE 1 SRMVUSVP DS F VERY HIGH PERF SPACE
1 SRMVUSHA DS F HIGH AVAIL SPACE 1 * TEMP SPACE USED 1 SRMVUTMP DS F TOTAL SPACE 1 SRMVUTHP DS F HIGH PERF SPACE 1 SRMVUTVP DS F VERY HIGH PERF SPACE 1 * WORK SPACE USED 1 SRMVUWRK DS F TOTAL SPACE 1 SRMVUWHP DS F HIGH PERF SPACE 1 SRMVUWVP DS F VERY HIGH PERF SPACE 1 SRMVCYSL DS F CRYPTO SESSION LIMIT 1 SRMVCYSU DS F CRYPTO SESSION USED 1 SRMVNST DS X NET-STORAGE USAGE 1 SRMVNSTN EQU 1 NOT-ALLOWED 1 SRMVNSTA EQU 2 ALLOWED 1 DS XL3 UNUSED 1 SRMVNCS DS CL8 NET-CODED-CHAR-SET 1 SRMVDMS# EQU *-SRMVDMSD LENGTH OF DMS PART 1 *************************************************************** 1 * INFORMATION ON TASK/PROGRAM * 1 *************************************************************** 1 SRMVTASK DS 0F 1 SRMVUSW DS CL4 USER'S SWITCHES 1 SRMVAIDR DS CL1 AID'S READ VALUE 1 SRMVAIDW DS CL1 AID'S WRITE VALUE 1 SRMVTPRV DS CL1 TESTPRIV INDICATOR 1 SRMVTPRY EQU 1 - TESTPRIV IS YES 1 SRMVTPRN EQU 2 - TESTPRIV IS NO 1 SRMVADS2 DS CL2 ADDRSPACE VALUE 1 SRMVADIT DS CL1 AUDIT INDICATOR 1 SRMVADTY EQU 1 - AUDIT ALLOWED 1 SRMVADTN EQU 2 - AUDIT NOT ALLOWED 1 SRMVPSW DS CL1 PSWORD CMD'S RIGHT 1 SRMVPSWY EQU 1 - PSWORD YES 1 SRMVPSWM EQU 2 - PSWORD MOD 1 SRMVPSWN EQU 3 - PSWORD NO 1 SRMVCSMP DS CL1 CSTMP-MACRO INDICATOR 1 SRMVCSMY EQU 1 - CSTMP-MACRO ALLOWED 1 SRMVCSMN EQU 2 - CSTMP-MACRO NOT ALLOWED 1 SRMVHWAU DS CL1 HARDWARE-AUDIT INDICATOR 1 SRMVHWAUY EQU 1 - HW-AUDIT ALLOWED 1 SRMVHWAUN EQU 2 - HW-AUDIT NOT ALLOWED 1 SRMVLKAU DS CL1 LINKAGE-AUDIT INDICATOR 1 SRMVLKAUY EQU 1 - LNK-AUDIT ALLOWED 1 SRMVLKAUN EQU 2 - LNK-AUDIT NOT ALLOWED 1 SRMVPRID DS CL54 PROFILE ID 1 SRMVRPAG DS H NB OF RESIDENT PAGES 1 SRMVDTKL DS CL1 DEFAULT-MESSAGE-LANGUAGE
1 SRMVMSGS DS CL1 DEFAULT-MESSAGE-SEARCH 1 SRMVSTSK EQU X'01' -TASK 1 SRMVSALL EQU X'02' -*ALL 1 SRMVADRS DS F ADDRSPACE VALUE 1 SRMVRPGS DS F NB OF RESIDENT PAGES 1 SRMVTSK# EQU *-SRMVTASK LENGTH OF TASK PART 1 *************************************************************** 1 * INFORMATION ON SPOOL * 1 *************************************************************** 1 SRMVSPOL DS 0F 1 DS CL8 UNUSED 1 SRMVMAIL DS CL64 MAILING ADDRESS 1 SRMVSPL# EQU *-SRMVSPOL LENGTH OF SPOOL PART 1 *- 1 SRMVUSR# EQU *-SRMVJOB LENGTH OF USER PART 1 *************************************************************** 1 * INFORMATION ON ACCOUNTING * 1 *************************************************************** 1 SRMVACCT DS 0F 1 SRMVNBAC DS H NUMBER OF ACCOUNT-NB 1 SRMVMARC DS H MAXIMUM OF ACCOUNT RECORDS 1 *- 1 SRMVACC# EQU *-SRMVACCT LENGTH OF ACC GLOBAL INF. 1 *- 1 *- INFORMATION ON ACCOUNT ENTRY 1 *- 1 SRMVACCE DS 0F 1 SRMVACT DS CL8 ACCOUNT NUMBER 1 SRMVCPU DS F CPU TIME REMAINING 1 SRMVNTL DS CL1 NTL INFORMATION 1 SRMVNTLY EQU 1 - NTL ALLOWED 1 SRMVNTLN EQU 2 - NTL NOT ALLOWED 1 SRMVEXP DS CL1 EXPRESS INFORMATION 1 SRMVEXPY EQU 1 - EXPRESS ALLOWED 1 SRMVEXPN EQU 2 - EXPRESS NOT ALLOWED 1 SRMVSCLA DS CL1 SPOOL-OUT CLASS 1 SRMVPRI DS CL1 HIGHEST PRIORITY PERMITTED 1 SRMVINHD DS CL1 INHIBIT DEACTIVATION IND 1 SRMVINHY EQU 1 - INHIBIT DEACTIVATION ALLOW 1 SRMVINHN EQU 2 - INHIBIT DEACT NOT ALLOW 1 SRMVTYPL DS CL1 UPPER LIMIT OF TASK TYPE 1 SRMVTYST EQU 1 - STD 1 SRMVTYTP EQU 2 - TP 1 SRMVTYSY EQU 3 - SYS
1 **************************************************************/ 1 * INFORMATION FOR POSIX VERSION V11.2 */ 1 **************************************************************/ 1 SRMVPOA DS X POSIX ACCOUNTNUMBER 1 SRMVPOAY EQU 1 1: YES POSIX ACCOUNTNUMBER 1 SRMVPOAN EQU 2 2: NO POSIX ACCOUNTNUMBER 1 SRMVDAC DS X DEFAULT ACCOUNTNUMBER 1 SRMVDACY EQU 1 - YES DEFAULT ACCOUNTNUMBER 1 SRMVDACN EQU 2 - NO DEFAULT ACCOUNTNUMBER 1 SRMVACE# EQU *-SRMVACCE LENGTH OF ONE ACC ENTRY 1 *- 1 DS CL(59*SRMVACE#) 1 * 1 SRMVACM# EQU 60*SRMVACE#+SRMVACC# MAX LENGTH OF ALL ACCOUNT 1 *- ENTRIES,GLOBAL INF SRMVALL# EQU *-SRMVJOB MAX LENGTH OF A ALL ENTRY *************************************************************** * INFORMATION ON EMAIL V17.0 * *************************************************************** SRMVEMA DS 0F SRMVEMAL DS H EMAIL-LENGTH SRMVEMAI DS CL1800 EMAIL SRMVEMA# EQU *-SRMVEMA LENGTH OF EMAIL-INFO 1 *- 1 SRMVETR# EQU SRMVUSR#+SRMVACM# MAX LENGTH OF A USER ENTRY
Beispiel zur Ausgabe von Benutzerkennung und Default-Pubset
SRMUINF START SRMUINF RMODE ANY SRMUINF AMODE ANY GPARMOD 31 BALR 3,0 BCTR 3,0 BCTR 3,0 USING SRMUINF,3 SRMUINF AREA@=SRMAUS,AREA#=SRMVLLLL,INFO=*ALL,MF=M ------------(1) SRMUINF MF=E,PARAM=SRMPL --------------------------------------(2) CLI SRMVMR1,SRMVMOK * ERROR IN CALL ? BNE ERROR MVC USERID,SRMVUSER * CALL OK; OUTPUT USER ID MVC DEFPUB,SRMVDFCT * AND DEFAULT PUBSET WROUT MSGAUSG,0 B ENDE ERROR EQU * * ERROR IN CALL (RC <> 0); UNPK RC(5),SRMVMR1(2) * OUTPUT RETURN CODE TR RC(4),TAB WROUT MSGFEHL,0 * Definitions * TAB DS CL240 DC C'0123456789ABCDEF' * * Parameter area SRMUINF macro DS 0F SRMPL SRMUINF MF=C ORG SRMVPL SRMUINF MF=L ORG * * Output area SRMUINF macro DS 0F SRMAUS SRMUINF MF=C,XPAND=OUTPUT,DATA=ALL * * Output area if call OK MSGAUSG DS 0H DC Y(MSGAUSGL) DC CL3' ' DC C'SRMUINF: User ID: ' USERID DS CL8 DC C' , Default pubset: ' DEFPUB DS CL4 DC C'<' MSGAUSGL EQU *-MSGAUSG *
* Output area if call contains error MSGFEHL DS 0H DC Y(MSGFEHLL) DC CL3' ' DC C'Error in SRMUINF: RC = ' RC DS CL5 MSGFEHLL EQU *-MSGFEHL-1 SRMVLLLL DC Y(SRMVETR#) * LENGTH OF OUTPUT AREA END =AL4(SRMAUS)
Ablaufprotokoll
/start-assembh % BLS0500 PROGRAM 'ASSEMBH', VERSION '<ver>' OF '<date>' LOADED % ASS6010 <ver> OF BS2000 ASSEMBH READY //compile source=*library-element(macexmp.lib,srmuinf), - // compiler-action=module-generation(module-format=llm), - // module-library=macexmp.lib, - // listing=parameters(output=*library-element(macexmp.lib,srmuinf)) % ASS6011 ASSEMBLY TIME: 438 MSEC % ASS6018 0 FLAGS, 0 PRIVILEGED FLAGS, 0 MNOTES % ASS6019 HIGHEST ERROR-WEIGHT: NO ERRORS % ASS6006 LISTING GENERATOR TIME: 151 MSEC //end % ASS6012 END OF ASSEMBH /start-executable-program library=macexmp.lib,element-or-symbol=srmuinf % BLS0523 ELEMENT 'SRMUINF', VERSION '@' FROM LIBRARY ':2OSG:$QM212.MACEXMP.LIB' IN PROCESS % BLS0524 LLM 'SRMUINF', VERSION ' ' OF '<date> <time>' LOADED SRMUINF: User ID: QM212 , Default pubset: 2OSG<
(1) Datenbereich initialisieren
(2) Lesen der Benutzerinformation