Dieser Makro löscht Zugriffsbedingungen.
Makro | Operanden |
REMSAC | MF = D / L / C / M / E ,PREFIX = P / <name 1> ,MACID = ROX / <name 3> ,MGMTPRE = P / <name 1> ,MGMTMAC = ROZ / <name 3> ,PARAM = <name 1..8> ,GUARD*= <c-string: filename 1..40 without-gen-vers with-wild> / <c-string: partial-filename 2..40 with-wild> / <var: char(40)> / (<reg: A(char(40))>) ,SUBTYPE*= *ALL / *USER / *GROUP / *OTHER / *ALLUSER / <var: enum SUBTYPE> / (<reg: enum SUBTYPE>) ,SUBIDS = *NO / *ALL / array(20): <c-string: name 1..8> / <var: char(8)> / (<reg: A(char(8))>) ,DIALOG = *STD / *NO / *GUARD / *USERID / *CATALOG / <var: enum DIALOG> / (<reg: enum DIALOG>) ,ERRMSG =*NO / *YES |
Die Beschreibung der Parameter MF, PREFIX, MACID, PARAM siehe Handbuch „Makroaufrufe an den Ablaufteil“ [16].
Operanden, die mit „*“ gekennzeichnet sind, sind Pflichtoperanden bei MF=L. Die Angaben zu SUBTYPE und DIALOG verweisen auf die DSECT des Makros SACMGMT.
MGMTPRE und MGMTMAC
Legen das Präfix fest, das den globalen DSECTS, Konstanten und Gleichsetzungen vorangestellt wird. Dieses Präfix besteht aus den beiden Operanden MGMTPRE und MGMTMAC, die in dieser Reihenfolge zusammengesetzt werden.
Wenn ein Präfix verwendet wird, muss es mit dem bei SACMGMT im Operanden PRE-FIX übereinstimmen, da sonst Übersetzungsfehler auftreten.
GUARD
Name des zu bearbeitenden Guard. Der Name darf Musterzeichen enthalten. Es dürfen nur Großbuchstaben verwendet werden. Musterzeichen in der Benutzerkennung sind nur dem Guard-Administrator erlaubt. Dieser Operand muss bei MF=L angegeben werden.
SUBTYPE
Legt den Typ der zu löschenden Subjekte fest. Dieser Operand muss bei MF=L angegeben werden.
=*ALL
Es werden alle Zugriffsbedingungen gelöscht.
=*USER
Angabe der Benutzerkennungen, deren Zugriffsbedingungen gelöscht werden.
=*GROUP
Angabe der Benutzergruppe, deren Zugriffsbedingungen gelöscht werden.
=*OTHER
Die Zugriffsbedingungen für alle anderen Benutzer werden gelöscht.
=*ALLUSER
Die Zugriffsbedingungen für *ALLUSER werden gelöscht.
SUBIDS
Bestimmt, welche der bei SUBTYPE =*GROUP oder SUBTYPE=*USER vorhandenen Einzeleinträge gelöscht werden. Da für
SUBTYPE=*ALLUSER und SUBTYPE=*OTHER jeweils nur ein Eintrag vorhanden ist, können für diese beiden SUBTYPES keine SUBIDS angegeben werden.
=*NO
Es werden keine Zugriffsbedingungen gelöscht.
=*ALL
Es werden alle Zugriffsbedingungen für den angegebenen SUBTYPE gelöscht.
=array(20)
Wie bei der Definition der Zugriffsbedingung können bis zu 20 Einzeldefinitionen angegeben werden, die gelöscht werden.
DIALOG
Im Dialogbetrieb kann der Anwender die Funktion mit Kontrolldialog nutzen. Im Batchbetrieb wird immer DIALOG=*NO angenommen, auch wenn andere Angaben gemacht wurden.
=*STD
Im Dialogbetrieb: *GUARD (siehe unten)
Im Batchbetrieb: *NO
=*NO
Die Funktion wird ohne Rückfrage auf jedes der Auswahl entsprechende Guard ausgeführt.
=*GUARD
Der Anwender kann für jedes der Auswahl entsprechende Guard im Dialog entscheiden, wie weiterzuverfahren ist:
NO: | Funktion nicht ausführen |
YES: | Funktion ausführen |
TERMINATE: | Funktion abbrechen, auch wenn noch weitere Guards bearbeitet werden könnten. |
=*USERID
Diesen Kontrolldialog kann nur ein Guard-Administrator verwenden.
Wurden in der Benutzerkennung Musterzeichen verwendet, wird bei jedem Wechsel einer Benutzerkennung ein Dialog eröffnet, in dem bestimmt werden kann, ob die der Auswahl entsprechende Benutzerkennung bearbeitet wird. Der Dialog kann wie bei *GUARD gesteuert werden.
=*CATALOG
Wurden in der Katalogkennung Musterzeichen verwendet, wird bei jedem Wechsel einer Katalogkennung ein Dialog eröffnet, in dem bestimmt werden kann, ob die der Auswahl entsprechende Katalogkennung bearbeitet wird. Der Dialog kann wie bei *GUARD gesteuert werden.
ERRMSG
gibt an, ob Fehlermeldungen am Terminal angezeigt werden.
=*NO
Keine Fehlermeldungsausgabe am Terminal
=*YES
Fehlermeldungsausgabe am Terminal
Makro-Returncode
SC2 | SC1 | Maincode | Erläuterung |
X’01’ | X’1000’ | Der angegebene Wert des Operanden liegt nicht im erlaubten Bereich. Der fehlerhafte Operand steht als symbolischer Wert im SC2 | |
X’20’ | X’1001’ | Ein interner Fehler trat auf. Für eine genauere Analyse wurde ein SERSLOG-Eintrag geschrieben | |
X’40’ | X’1002’ | Der Guard-Name ist syntaktisch falsch | |
X’40’ | X’1003’ | Speicher für den Parameterbereich nicht in der benötigten Länge allokiert oder nicht zugreifbar | |
X’40’ | X’1007’ | Das angegebene Guard existiert nicht | |
X’80’ | X’1009’ | Das angegebene Guard ist von einer anderen Task gesperrt | |
X’02’ | CMD | X’1011’ | Das Kommando wurde auf Wunsch des Benutzers abgebrochen |
X’40’ | X’1012’ | Der angegebene Katalog ist nicht definiert oder nicht zugreifbar | |
X’40’ | X’1013’ | Das Pubset ist bei der GUARDS-Verwaltung unbekannt (Guardskatalog wurde wahrscheinlich bei IMPORT-PUBSET nicht geöffnet) | |
X’40’ | X’1014’ | Der Benutzer ist nicht autorisiert, die Funktion auszuführen | |
X’40’ | X’1015’ | Das angegebene Subjekt ist nicht im Guard enthalten | |
X’40’ | X’1016’ | Fehler im Kommunikationsmittel des MRS | |
X’40’ | X’1017’ | Unbekannte Benutzerkennung | |
X’40’ | X’1018’ | Fernes System nicht verfügbar | |
X’40’ | X’1020’ | Kein Speicher mehr vorhanden | |
X’40’ | X’1021’ | BCAM-Verbindungsfehler | |
X’40’ | X’1022’ | BCAM-Verbindung unterbrochen | |
X’40’ | X’1023’ | Kein Guard entspricht den Auswahlkriterien | |
X’40’ | X’1028’ | Guard hat falschen Typ | |
X’40’ | X’1029’ | GUARDS auf dem fernen Rechner nicht verfügbar | |
X’02’ | X’40’ | X’1035’ | Kommando nicht ausgeführt |
X’80’ | X’1036’ | Guardskatalog gesperrt | |
X’80’ | X’1038’ | Guardskatalog durch ARCHIVE gesperrt |