Der Makro GETUGR liefert zu einer Benutzerkennung den zugehörigen Gruppennamen. Zur Ermittlung der Gruppenzugehörigkeit wird die Gruppenstruktur herangezogen, die auf dem Home-Pubset der laufenden Sitzung hinterlegt ist. Ist die Benutzerkennung der Standardgruppe *UNIVERSAL zugeordnet, so ist der Gruppenname nicht definiert und der Returncode wird mit einem entsprechenden Wert versehen.
Anwendung: Systemverwaltermakro
Makrotyp: S-Typ (Standardform / E-Form / L-Form / C-Form / D-Form)
Makro | Operanden |
GETUGR | MF=C / D / L / E ,PREFIX = p / S ,PARAM = (r) / addr |
Die Beschreibung der Parameter MF, PREFIX, MACID, PARAM siehe Handbuch „Makroaufrufe an den Ablaufteil“ [16].
Vor dem Aufruf des Makros GETUGR muss das Feld SRMUUID mit der Benutzerkennung versorgt werden, deren Gruppenname ermittelt werden soll.
Wenn ein Benutzergruppenverwalter oder systemglobaler Benutzerverwalter die Gruppenzugehörigkeit einer Benutzerkennung ermitteln will, die nicht auf dem Home-Pubset eingetragen ist, muss er zusätzlich die Katalogkennung dieses Pubsets in das Feld SRMUPVS eintragen. Gibt ein Benutzer, der keines dieser Verwaltungsprivilegien hat, das Pubset explizit an, wird der Aufruf mit Parameterfehler zurückgewiesen.
Ausgabe-Operanden:
Der Gruppenname wird im Feld SRMGGID der Parameterliste abgelegt. Gehört die Benutzerkennung zur Standardgruppe *UNIVERSAL, so ist der Inhalt des Feldes nicht definiert und der Returncode enthält einen entsprechenden Wert.
Parameterliste (GETUGR MF=D)
SRMUGT DSECT , *,##### PREFIX=S, MACID=RMU ##### * SRMUFHDR FHDR MF=(C,SRMU),EQUATES=NO standard header SRMUFHDR DS 0A SRMUFHE DS 0XL8 0 GENERAL PARAMETER AREA HEADER * SRMUIFID DS 0A 0 INTERFACE IDENTIFIER SRMUFCTU DS AL2 0 FUNCTION UNIT NUMBER * BIT 15 HEADER FLAG BIT, * MUST BE RESET UNTIL FURTHER NOTICE * BIT 14-12 UNUSED, MUST BE RESET * BIT 11-0 REAL FUNCTION UNIT NUMBER SRMUFCT DS AL1 2 FUNCTION NUMBER SRMUFCTV DS AL1 3 FUNCTION INTERFACE VERSION NUMBER * SRMURET DS 0A 4 GENERAL RETURN CODE SRMUSRET DS 0AL2 4 SUB RETURN CODE SRMUSR2 DS AL1 4 SUB RETURN CODE 2 SRMUSR1 DS AL1 5 SUB RETURN CODE 1 SRMUMRET DS 0AL2 6 MAIN RETURN CODE SRMUMR2 DS AL1 6 MAIN RETURN CODE 2 SRMUMR1 DS AL1 7 MAIN RETURN CODE 1 SRMUFHL EQU 8 8 GENERAL OPERAND LIST HEADER LENGTH * * main return codes SRMUOK EQU 0 group id of user valid SRMUUNI EQU 1 user is in group *UNIVERSAL SRMUUND EQU 2 user not defined on pubset SRMUPER EQU 3 parameter error SRMUPNA EQU 5 pubset not available SRMUSER EQU 255 system error * SRMUUID DS CL8 user id for which information * is sought SRMUPVS DS CL4 pubset on which user is * defined SRMUGID DS CL8 group id for user on pubset SRMU# EQU *-SRMUFHDR
Hinweis
Der Aufruf GETUGR verändert die Register R1, R14 und R15.
Returncodes
Zusätzlich zu den Standardreturncodes können folgende Returncodes auftreten:
SC1 | Maincode | Erläuterung |
ESMRFSP | SRMUOK | Gruppenname wurde ermittelt und im Parameterfeld SRMGGID hinterlegt. |
ESMRFSP | SRMUUNI | Die Benutzerkennung gehört zur Standardgruppe *UNIVERSAL. |
ESMRFSP | SRMUUND | Die Benutzerkennung ist auf dem Pubset nicht eingetragen. |
ESMRCAR | SRMUPER | Parameterfehler |
ESMRCAR | SRMUPNA | Pubset nicht verfügbar |
ESMRIER | SRMUSER | Systemfehler |
Beispiel
Ermitteln des Gruppennamens zur Benutzerkennung ’SRPMUSER’ und prüfen, ob ein Fehler aufgetreten ist.
GETUGR START *--------------------------------------------------------------------* * PROGRAMM: HANDBUCH-BEISPIEL GETUGR SRPM-TESTS * *--------------------------------------------------------------------* GETUGR RMODE ANY GETUGR AMODE ANY GPARMOD 31 BALR 3,0 USING *,3 *--------------------------------------------------------------------* * LESEN DER BENUTZERGRUPPE FUER BENUTZER "SRPMUSER" * *--------------------------------------------------------------------* MVC SRMUUID,='SRPMUSER' GETUGR MF=E,PARAM=GICHKL CLI SRMUMR1,SRMUOK BNE FEHLER * BEARBEITEN DER USER-GROUPID B ENDE FEHLER EQU * * ANDERE BEHANDLUNG ENDE TERM **-------------------------------------------------------------------* GICHKC GETUGR MF=C ORG GICHKC GICHKL GETUGR MF=L END