Mit dieser Funktion wird eine Regel für die Standardwertvergabe für Datei- oder Jobvaria-blen-Schutzattributen in einen Regelbehälter (Guard) eingetragen. Handelt es sich dabei um den ersten Regeleintrag, wird der Regelbehälter neu angelegt, wobei im Guard-Verwaltungsteil der SCOPE auf *USER-ID gesetzt wird.
Gibt es den Regelbehälter bereits, bleibt der SCOPE unverändert und die Regel wird an die angegebene Position im Regelbehälter eingefügt.
Ein Anwender kann nur Regelbehälter unter seiner eigenen Benutzerkennung einrichten. Ein Guard-Administrator kann Regelbehälter unter fremden Benutzerkennungen einrichten.
Ein Regelbehälter für den pubsetglobalen Standardschutz kann nur von TSOS oder von einem Guard-Administrator eingerichtet werden, er muss unter der Benutzerkennung TSOS abgelegt sein
Makro | Operanden |
ADDDEF | MF = C / D / L / M / E ,PREFIX = D / <name 1> ,MACID = EFA / <name 3> ,PARAM = <name 1..8> ,DIALOG = *STD / *NO / *COGUARD / *USERID / *CATALOG / <var: enum-of _dialog_s:1> ,ERRMSG = *NO / *YES / <var: bit:1> ,COGUARD = ’ ’ / <c-string 1..40: filename 1..24 without-gen-vers with-wild(40)> / <var: char:40> ,RULENAM = ’ ’ / <c-string 1..12: alphanumeric name 1..12> / <var: char:12> ,RULEPOS = structure(2): (1) target: *LAST / *BEFORE / <var: enum-of _target_s:1> ,OBJECT = structure(2): (1) objnam: ’ ’ / *TEMP / <c-string 1..80: filename 1..41 without-cat-gen-user-vers with-wild(80)> / <var: char:80> (2) objtype: *FILE / <var: enum-of _object_type_s:1> ,ATTRGUA=*NONE / <c-string 1..18: filename 1..18 without-cat-gen-vers> / <var: char:18> ,UIDGUA=*ANYUID / <c-string 1..18: filename 1..18 without-cat-gen-vers>/ <var: char:18> ,GUACHK = *YES / *NO / <var: enum-of _guard_check_s:1> |
Die Beschreibung der Parameter MF, PREFIX, MACID, PARAM finden Sie im Handbuch „Makroaufrufe an den Ablaufteil“ [16].
DIALOG
Dialogführung
Der Anwender kann die Schnittstelle mit Kontrolldialog benutzen, wobei die Art der Dialogführung steuerbar ist. Die Dialogführung ist im Batchbetrieb wirkungslos, was der Angabe DIALOG-CONTROL=*NO entspricht.
=*STD
Der Anwender kann für jeden ausgewählten Behälter im Dialog entscheiden, ob das Kommando angewendet wird oder nicht. Die Dialogführung erfolgt jedoch nur dann, wenn der Name des Regelbehälters mit Hilfe von Musterzeichen spezifiziert ist.
Ein Kommandoabbruch ist möglich.
=*NO
Die Funktion wird ohne Rückfrage auf jeden Regelbehälter angewendet.
=*COGUARD
Der Anwender kann für jeden ausgewählten Behälter im Dialog entscheiden, ob die Funktion angewendet wird oder nicht. Die Dialogführung erfolgt unabhängig davon, ob der Name des Regelbehälters mit Hilfe von Musterzeichen spezifiziert ist oder nicht.
Ein Funktionsabbruch ist möglich.
=*USERID
Diesen Kontrolldialog kann nur ein Guard-Administrator verwenden.
Ein Guard-Administrator kann für jede ausgewählte Benutzerkennung im Dialog entscheiden, ob die Funktion angewendet wird oder nicht. Die Dialogführung erfolgt jedoch nur dann, wenn die Benutzerkennung im Namen des Regelbehälters mit Hilfe von Musterzeichen spezifiziert ist.
Ein Funktionsabbruch ist möglich.
=*CATALOG
Der Anwender kann für jede ausgewählte Katalogkennung im Dialog entscheiden, ob die Funktion angewendet wird oder nicht. Die Dialogführung erfolgt jedoch nur dann, wenn die Katalogkennung im Namen des Regelbehälters mit Hilfe von Musterzeichen spezifiziert ist.
Ein Funktionsabbruch ist möglich.
ERRMSG
Meldungsausgabe
Der Anwender kann angeben, ob aufgetretene Fehler als Meldung angezeigt werden. Das kann erwünscht sein, wenn zum Beispiel eine Positionsregel nicht vorhanden ist und eine Bearbeitung darum nicht möglich war.
=*NO
Es werden keine Meldungen ausgegeben.
=*YES
Es werden Meldungen ausgegeben.
COGUARD
Name des Regelbehälters
Dieser Operand bezeichnet den Namen des Regelbehälters, in den eine erste oder weitere Regeln eingetragen werden. Der Behälter wird neu eingerichtet, falls er noch nicht existiert.
Der Behältername kann zwar beliebig gewählt werden, für die Suche nach passenden Standardwerten werden jedoch in Hierarchie ausnahmslos Regelbehälter mit fest vorgeschriebenen Namen verwendet.
Musterzeichen im Namen des Regelbehälters bewirken, dass die Regel in mehrere Behälter eingetragen wird, sofern diese zugreifbar sind.
Musterzeichen in der Benutzerkennung darf nur ein Guard-Administrator spezifizieren.
Der Operand muss mit einem Wert versehen werden. Es dürfen nur Großbuchstaben verwendet werden!
RULENAM
Name der Regel
Dieser Operand bezeichnet den Namen der zu bearbeitenden Regel. Doppelte Namen in einem Behälter sind nicht erlaubt.
Der Operand muss mit einem Wert versehen werden. Es dürfen nur Großbuchstaben verwendet werden!
RULEPOS
Position
Dieser Operand bezeichnet die Position innerhalb eines Regelbehälter, an die die zu bearbeitende Regel gestellt wird. Die Reihenfolge der Regeln ist ausschlaggebend bei der Ermittlung der Schutzattribut-Standardwerte.
target
Angabe zur Zielposition im Regelbehälter.
*LAST
Die Regel wird an die letzte Position im Regelbehälter gestellt.
*BEFORE
Die Regel wird vor die durch den Operand RULENAM benannte Regel gestellt.
posnam
Name der Regel zur Positionsangabe
Dieser Operand bezeichnet eine im Regelbehälter eingetragene Regel, vor die die zu bearbeitende Regel gestellt wird, wenn die Angabe target des Operanden RU-LEPOS den Wert *BEFORE hat. Die Funktion wird abgewiesen, wenn es eine Regel dieses Namens nicht gibt.
ACHTUNG!
Der Operand muss mit einem Wert versehen werden, wenn die Teilangabe target des Operanden RULEPOS den Wert *BEFORE hat. Es dürfen nur Großbuchstaben verwendet werden!
OBJECT
Objekt
Dieser Operand bezeichnet das Objekt, für das die zu bearbeitende Regel gilt.
objnam
Objektname
Angaben über den Namen des Objektes.
Der Name kann Musterzeichen enthalten oder teilqualifiziert angegeben werden. Er darf keine Katalog- und Benutzerkennung enthalten.
Aliasnamen und vereinbarte Präfixe sind nicht erlaubt, der spezifizierte Objektname wird unverändert verwendet.
Es dürfen nur Großbuchstaben verwendet werden!
*TEMP
Die Regel gilt für alle temporären Objekte.
objtype
Typ des Objektnamens entsprechend der SDF-Syntaxbeschreibung (siehe Handbuch „Kommandos“ [4]).
Angaben über den SDF-Namenstyp des Objektes. Zur Zeit wird nur der SDF-Namenstyp <filename> (*FILE) unterstützt, der sowohl für Dateinamen als auch für Jobvariablennamen gibt.
ATTRGUA
Attribute
Dieser Operand bezeichnet den Namen eines Guards vom Typ STDAC, das die Attribute enthält. Der Name darf keine Katalogkennung enthalten. Ist das genannte Guard zum Zeitpunkt des Funktionsaufrufes nicht zugreifbar, weil es noch nicht eingerichtet ist, oder der SCOPE die Verwendung des Guards untersagt, bricht die Funktion mit Fehler ab.
Es dürfen nur Großbuchstaben verwendet werden!
=*NONE
Es werden keine Attribute in dieser Regel festgelegt. Die Attributstandardwerte werden bei der Standardwertvergabe aus der nächst höheren Hierarchiestufe (pubsetglobal oder herkömmlicher Systemstandard) ermittelt.
UIDGUA
Benutzerkennungen
Name des Guards vom Typ DEFPUID, das die Benutzerkennungen für die Pfadvervollständigung beim pubsetglobalen Standardschutz enthält. Der Name darf keine Katalogkennung enthalten. Ist das genannte Guard zum Zeitpunkt des Funktionsaufrufes nicht zugreifbar, weil es noch nicht eingerichtet ist, oder der SCOPE die Verwendung des Guards untersagt, bricht die Funktion mit Fehler ab.
Dieser Operand darf nur von TSOS oder von einem Guard-Administrator angegeben werden. Es dürfen nur Großbuchstaben verwendet werden!
=*ANYUID
Es wird kein Guard für Benutzerkennungen angegeben. Der Name des Objektes gilt für alle Benutzerkennungen eines Pubsets.
GUACHK
Guardprüfung
Bei der Funktionsdurchführung kann wahlweise die Verfügbarkeit der in der Regel namentlich genannten Guards überprüft werden.
=*YES
Die Guardprüfung wird eingeschaltet. Es wird geprüft, ob das namentlich angesprochene Guard verfügbar ist. Gibt das Guard nicht, oder ist der Eigentümer des unter dem Operanden COGUARD angegebenen Regelbehälters nicht berechtigt, das Guard zu verwenden, bricht die Funktion mit einem entsprechenden Returncode ab.
Es ist zu beachten, dass die Prüfung nur eine „Momentaufnahme“ sein kann, die unmittelbar nach Funktionsdurchführung von anderen Tasks durch entsprechende Guardmodifikationen verändert sein kann.
=*NO
Die Guardprüfung wird ausgeschaltet.
Die Funktion wird durchgeführt, unabhängig davon, dass ein genanntes Guard nicht verfügbar ist oder vom Eigentümer des unter dem Operanden COGUARD angegebenen Regelbehälters nicht verwendet werden darf.
Makro-Returncode
SC2 | SC1 | Maincode | Erläuterung |
X’00’ | X’00’ | X’0000’ | class A: CMD0001 |
X’02’ | X’00’ | X’3000’ | class A: DEF3000 |
X’02’ | X’00’ | X’3003’ | class A: DEF3003 |
X’01’ | X’3100’ | class B: DEF3100 | |
X’00’ | ungültige Parameteradresse | ||
X’00’ | X’20’ | X’3200’ | class C: DEF3200 |
X’00’ | X’40’ | X’3300’ | class D: DEF3300 |
X’00’ | X’40’ | X’3302’ | class D: DEF3302 |
X’00’ | X’40’ | X’3303’ | class D: DEF3303 |
X’00’ | X’40’ | X’3304’ | class D: DEF3304 |
X’00’ | X’40’ | X’3305’ | class D: DEF3305 |
X’00’ | X’40’ | X’3306’ | class D: DEF3306 |
X’00’ | X’40’ | X’3307’ | class D: DEF3307 |
X’00’ | X’40’ | X’3308’ | class D: DEF3308 |
X’00’ | X’40’ | X’3309’ | class D: DEF3309 |
X’00’ | X’40’ | X’3313’ | class D: DEF3313 |
X’00 | X’40 | X’3314’ | class D: DEF3314 |
X’00’ | X’40’ | X’3315’ | class D: DEF3315 |
X’00’ | X’40’ | X’3318’ | class D: DEF3318 |
X’00 | X’40 | X’3319’ | class D: DEF3319 |
X’00’ | X’40’ | X’3320’ | class D: DEF3320 |
X’00’ | X’80’ | X’3900’ | class E: DEF3900 |
X’00’ | X’80’ | X’3901’ | class E: DEF3901 |
X’00’ | X’80’ | X’3902’ | class E: DEF3902 |
Die genaue Fehlerursache kann durch Aufruf des Kommandos /HELP-MSG mit der in der Tabelle angegebenen Fehlernummer ermittelt werden, z.B. /HELP-MSG DEF3902.